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