[Функция] unbind(type,fn)
Раздел "Events"
Функция противоположность функции bind, функция удаляет связанные события для каждого подходящего элемента.
type: освобождаемый тип события
fn: функция, освобождаемая из события для каждого комплекта элементов
Функция удаляет все связанные события. Если указан тип события, будут удалены все связанные события данного типа. Если функция, которая была передана для связывания с событием, имеет второй аргумент, то только указанный обработчик удаляется. Вы можете освобождать пользовательские события, зарегистрированные функцией bind(). jQuery так же поддерживаетпространство имён. Что позволяет вам запускать или освобождать особые группы связанных обработчиков, без указания ссылки напрямую.
Пример:
Можно связать или освободить события связанные с кнопкой.
"jQuery"
function aClick() {
$("div").show().fadeOut("slow");
}
$("#bind").click(function () {
// можно использовать .bind('click', aClick) взамен, но как вариант...
$("#theone").click(aClick)
.text("Can Click!");
});
$("#unbind").click(function () {
$("#theone").unbind('click', aClick)
.text("Does nothing...");
});
"HTML"
<button id="theone">Does nothing...</button>
<button id="bind">Bind Click</button>
<button id="unbind">Unbind Click</button>
<div style="display:none;">Click!</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://test-drupal.ru/themes/slyweb/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 () {
// можно использовать .bind('click', aClick) взамен, но как вариант...
$("#theone").click(aClick)
.text("Can Click!");
});
$("#unbind").click(function () {
$("#theone").unbind('click', aClick)
.text("Does nothing...");
});
});
</script>
</head>
<body class="iframe">
<button id="theone">Does nothing...</button>
<button id="bind">Bind Click</button>
<button id="unbind">Unbind Click</button>
<div style="display:none;">Click!</div>
</body>
</html>
<style>
button { margin:5px; }
button#theone { color:red; background:yellow; }
</style>
Пример:
Чтобы освободить все события для параграфов, укажите:
Пример:
Чтобы освободить все события click для всех параграфов, укажите:
Пример:
Чтобы освободить один, предварительно связанный обработчик, передайте в функцию второй аргумент:
"jQuery"
var foo = function () {
// code to handle some kind of event
};
$("p").bind("click", foo); // ... foo будет вызван при нажатии по параграфу...
$("p").unbind("click", foo); // ... foo больше на опрделен.
Версия jQuery 1.4.2
Документ создан 2010-08-21