【发布时间】:2013-08-19 18:25:28
【问题描述】:
我被一些事件监听器困住了。单击一个元素时,我想为单击创建另一个侦听器。出于某种原因,他们都在开火。这是代码和 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”元素具有完整的点击事件(鼠标按下和鼠标向上)之前,第二个不应该触发,但它会在第一次点击时触发,这意味着事件是即使元素在事件之后才具有触发器类,也会被触发。我每次都看到事件侦听器成功删除,但在我认为应该调用它之前就调用了它。所以,我现在真的很困惑......有什么建议吗?我希望我在不久的将来有一个手掌。
【问题讨论】:
-
check this one。你在调查这个吗?
标签: javascript jquery javascript-events