jquery:如何取消绑定动态创建的元素?

时间:2013-03-22 06:45:00

标签: javascript jquery

我有动态创建的按钮。我知道bind / unbind仅适用于未动态创建的元素。要添加功能,我使用.live(),效果很好。我的问题是Idk如何删除功能。请帮忙。

3 个答案:

答案 0 :(得分:7)

使用die()功能

阅读http://api.jquery.com/die

同样在 Jquery-1.9 中,这些functionsremoved

为此,您可以使用onoff

阅读http://api.jquery.com/onhttp://api.jquery.com/off

答案 1 :(得分:5)

您可以使用die删除以前通过live附加的处理程序。

  

不推荐使用.live()方法。使用.on()附加事件   处理程序。旧版jQuery的用户应该使用.delegate()   偏爱.live()。

您可以将live / die替换为on / off

答案 2 :(得分:0)

我建议您在将元素输入页面后调用的单独函数中进行绑定和解除绑定。这样你就可以完全控制何时发生的事情。

首先,您创建元素,然后只需调用bindButton函数。在使用Ajax时,我经常遇到这个问题,这个解决方案是我最喜欢的。

function bindButton(){
    $('#newButton').click(function(){
        //do something
     });

然后你创建了一个类似的函数来随时取消绑定click事件。