我被一些事件监听器困住了。单击一个元素时,我想为单击创建另一个侦听器。出于某种原因,他们都在开火。这是代码和 jsbin:http: //jsbin.com/uHIyiGi/2/edit HTML
<div class="wrap">
<button>Click me</button>
</div>
JS
$('button').on('click', function(event){
$('body').append('<p>button clicked</p>');
$('.wrap').addClass('clicked');
$('body').on('click', '.clicked', function(e){
$('body').append('<p>.clicked clicked</p>');
$('.wrap').removeClass('clicked');
$('body').off('click', '.clicked');
});
});
根据我对事件侦听器的了解,在“.clicked”元素具有完整的单击事件(鼠标按下和鼠标向上)之前,第二个不应该触发,但它会在第一次单击时触发,这意味着即使触发了该事件直到事件之后,该元素才具有触发器类。我每次都看到事件侦听器成功删除,但在我认为应该调用它之前就调用了它。所以,我现在真的很困惑......有什么建议吗?我希望我在不久的将来有一个手掌。