Javascript 从单击重新分配单击事件(使用jQuery)

Javascript 从单击重新分配单击事件(使用jQuery),javascript,jquery,event-propagation,Javascript,Jquery,Event Propagation,我在使用此javascript(使用jQuery)时遇到一些问题: 单击时,它应该重新分配自己的单击事件。不幸的是,它也会触发第二次单击事件。我知道这与传播有关,但我不知道如何阻止这种行为 有什么想法吗 Sam只需从回调返回false: $(a).click(function(){ alert('hi') this.unbind.click(function(){ doSomethingElse(this); }); return false; }

我在使用此javascript(使用jQuery)时遇到一些问题:

单击时,它应该重新分配自己的单击事件。不幸的是,它也会触发第二次单击事件。我知道这与传播有关,但我不知道如何阻止这种行为

有什么想法吗


Sam

只需从回调返回
false

$(a).click(function(){
    alert('hi')
    this.unbind.click(function(){
        doSomethingElse(this);
    });
    return false;
});

只需从回调返回
false

$(a).click(function(){
    alert('hi')
    this.unbind.click(function(){
        doSomethingElse(this);
    });
    return false;
});

preventDefault()是JQuery停止通常在事件上发生的事情的官方方法。我相信它只返回false,但我认为使用API调用更安全。实际上,preventDefault()是DOM级别2的一部分:但IE默认情况下会忽略它。jQuery处理这个问题,如果browser==IEThanks,则返回false!帮助很大,虽然我仍然有一些麻烦,但我放弃了一些更无用的功能:PpreventDefault()是JQuery停止通常在事件上发生的事情的官方方法。我相信它只返回false,但我认为使用API调用更安全。实际上,preventDefault()是DOM级别2的一部分:但IE默认情况下会忽略它。jQuery处理这个问题,如果browser==IEThanks,则返回false!帮助了很多,虽然我仍然有一些麻烦,我放弃了我的一些更无用的功能:P
$(a).click(function(e){
    alert('hi')
    $(this).unbind('click', arguments.callee).click(function(){
        doSomethingElse(this);
    })
    e.preventDefault();
})