使用$ .on添加dom元素的jquery?

时间:2012-01-18 20:11:08

标签: javascript jquery

我有点困惑,我有一堆元素通过jquery使用ajax调用添加,我想为它们附加一个点击处理程序(可能有很多)。

但我不知道如何开始这个,我看着.on,这真的很令人困惑。我想为某个类附加一个click事件处理程序,这样当我点击它时,我会得到this.id,然后用它做一些事情。

2 个答案:

答案 0 :(得分:3)

您尝试做的事情称为事件委派。

您希望在DOM中的更高元素上设置事件侦听器,该元素永远不会更改,但只有在已单击的子元素与特定选择器匹配时才会触发事件处理程序。

以下是jQuery的.on()

的完成方式
$(document).on('click', '.your-selector', function(){
    alert(this.id);
});

P.S。您可以将事件侦听器应用于DOM树中较低的元素...

答案 1 :(得分:1)

这将使您获得带有“test”...

类的单击元素的id
$(".test").on("click", function() {
    var id = $(this).attr("id")
});

在 ajax调用返回后,您需要运行。它只会将click事件绑定到运行时存在的元素,因此它对document.ready来说并不擅长。