Как отменить делегирование клика ложным? - PullRequest
0 голосов
/ 18 декабря 2011

Как отменить делегирование этого, и как повторно делегировать (вкл / выкл) ... Без влияния на другие обработчики событий в 'a'.

$(document).ready( function() {
    $('document').delegate( 'a', 'click' function(){return false;} ); 
});

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

При делегировании событий, если будет происходить регулярное включение и выключение, проще всего сделать селектор классом, который вы меняете при необходимости.

$(document).ready( function() {
    $('document').delegate( 'a.clickable', 'click' function(){return false;} ); 
});

Просто удалите класс clickable, чтобы отключить элемент, и добавьте его обратно, чтобы включить.

Нет необходимости многократно отменять привязку / привязку обработчика делегата.

1 голос
/ 18 декабря 2011

Сделайте что-то подобное, я использую click.myEvent, чтобы создать собственное пространство имен в событии click, так что таким образом будут генерироваться и удаляться только .myEvent события.

Удалить

$(document).ready( function() {
    $('document').delegate( 'a', 'click.myEvent', function(){return false;} ); 
});

Неделегат:

$(document).ready( function() {
    $('document').undelegate( 'a', 'click.myEvent' ); 
});
...