Я связывание выпадающего спискаКак отвязать событие
("#dropdownlist").change(function(){
//Do stuff
});
Приведенных выше код будет вызываться много раз.
Как я могу отменить это событие, прежде чем связывать его каждый раз?
Я связывание выпадающего спискаКак отвязать событие
("#dropdownlist").change(function(){
//Do stuff
});
Приведенных выше код будет вызываться много раз.
Как я могу отменить это событие, прежде чем связывать его каждый раз?
Вы можете использовать one вместо привязки:
("#dropdownlist").one('change',function(){});
Вы можете использовать unbind()
метод:
$('#dropdownlist').unbind('change');
Используйте следуя логике:
var f = function() {
}
$('#xx').bind('change', f); // for bind function f
$('#xx').unbind('change', f); // for unbind unbind function f
Кроме того JQuery поддерживает пространства имен.
Например, у вас есть обработчики изменений, которые выполняют проверку и изменение обработчиков, которые помогают скопировать текст.
Вы можете зарегистрироваться:
$("#foo").bind("change.validation", doValidation());
и
$("#foo").bind("change.helptext", toggleHelptext());
, а затем вы можете отвязать определенный набор перед повторной проверки добавления, например,
$("#foo").unbind("change.validation");
$("#foo").bind("change.validation", doValidation());
НТН Alex
Я не уверен, что вы пытаетесь добиться от вопроса. Вы не хотите связывать событие так, что оно происходит только один раз? Или просто отвяжите событие после того, как оно будет вызвано в определенной точке вашего скрипта? – hitautodestruct