Пример:
Пример разъясняющий различия методов live и delegate, изменив с deleagte на live всплытие собтия не будет предотвращено, а с delegate данная особенность устранена:
"jQuery"
function aClick() {
$("div").show().fadeOut("slow");
}
$("#bind").click(function () {
$("body").delegate("#theone", "click", aClick)
.find("#theone").text("Теперь Вы можете нажать!");
});
$("#unbind").click(function () {
$("body").undelegate("#theone", "click", aClick)
.find("#theone").text("Событие не связано с обработчиком...");
});
"HTML"
<button id="theone">Ничего не делать...</button> <button id="bind">Создать обработчик для события click</button> <button id="unbind">Удалить обработчик для события click</button> <div style="display:none;">Нажми!</div>
"CSS"
button { margin:5px; }
button#theone { color:red; background:yellow; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="http://slyweb.ru/css/jqueryiframe.css"
rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
function aClick() {
$("div").show().fadeOut("slow");
}
$("#bind").click(function () {
$("body").delegate("#theone", "click", aClick)
.find("#theone").text("Теперь Вы можете нажать!");
});
$("#unbind").click(function () {
$("body").undelegate("#theone", "click", aClick)
.find("#theone").text("Событие не связано с обработчиком...");
});
});
</script>
</head>
<body class="iframe">
<button id="theone">Ничего не делать...</button>
<button id="bind">Создать обработчик для события click</button>
<button id="unbind">Удалить обработчик для события click</button>
<div style="display:none;">Нажми!</div>
</body>
</html>
<style>
button { margin:5px; }
button#theone { color:red; background:yellow; }
</style>
Пример:
Удалить все обработчики любых событий для всех элементов p
Пример:
Удалить все обработчики события click для всех элементов p
Пример:
Для того чтобы удалить орбработчик события - определенную функцию, укажите её название в третьем параметре.