使用事件更改dom后调用jquery函数

时间:2013-10-05 17:25:46

标签: javascript jquery

我在点击事件后生成了以下jquery clickno类。它是在单击事件后生成的弹出窗口中的一个类。

$(".clickno").on('click', function(){$(this).parent().parent().parent().hide()})

因此,当我将其添加到我的脚本时,它无法正常工作,因为在加载DOM时没有clickno类。如何在加载弹出窗口后调用此函数。

2 个答案:

答案 0 :(得分:3)

如果你知道它是父母,那么将事件委托给.clickno的父母,或者将事件委托给文件也可以为你做。

$(document).on('click', ".clickno", function()
    {$(this).parent().parent().parent().hide()
});

委托活动

  

委派事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序的需要,   reference

答案 1 :(得分:0)

移动此

$(".clickno").on('click', function(){$(this).parent().parent().parent().hide()})

在加载弹出窗口的元素的click事件代码中。

例如:

$(".button_that_loads_popover").on('click',function({
 // Pop-over loaded
 $(".clickno").on('click', function(){$(this).parent().parent().parent().hide()});
}));