我有一段使用 jQuery 的 JavaScript,看起来有点像这样:
$('.myclass').on('click', function() {
// Do Stuff
$(document).on('click.mynamespace', function() {
// Do More Stuff
$(document).off('click.mynamespace');
});
});
单击.myclass
后,我希望它执行操作,然后将处理程序附加到文档上的单击事件并在后续单击时执行更多操作 - 但似乎"内容"和"更多内容"都发生在第一次单击时。
附加第二个事件处理程序时,单击事件是否仍在触发?如何达到我想要的效果?
尝试调用 stopPropagation
以防止事件在第一次单击时冒泡到文档中:
$('.myclass').on('click', function(e) {
e.stopPropagation();
// Do Stuff
$(document).on('click.mynamespace', function() {
// Do More Stuff
$(document).off('click.mynamespace');
});
});