Привязка JQuery к обработчику щелчков документа в объекте click немедленно запускает обработчик щелчков документа - PullRequest
0 голосов
/ 07 апреля 2011

Я написал обработчик щелчка, который создает привязку к обработчику щелчка документа следующим образом:

$("#button").bind('click',function(){

    ....


    $(document).bind('click',function(){           
      console.log("document.click");
    });
});

Что мне показалось странным в этом, так это то, что обработчик щелчков документа срабатывает, и я сразу получаю журнал консоли. Другими словами, я получаю журнал консоли при первом нажатии кнопки #. Это связано с тем, что щелчку клика по документу требуется время, и я привязываюсь к событию щелчка документа непосредственно перед его получением? Есть ли способ предотвратить это?

1 Ответ

3 голосов
/ 07 апреля 2011

попробуйте это:

$("#button").bind('click',function(e){
    e.stopPropagation();
    ....


    $(document).bind('click',function(){           
      console.log("document.click");
    });
});

Это предотвратит всплывание события

...