将元素添加到DOM后,jQuery.click无法正常工作

ped*_*ete 6 javascript jquery dom click

我有一个简单的jQuery('div#star').点击(功能.

最初加载DOM时,该函数会运行一次,但稍后我会在DOM中添加div#star,此时click函数不起作用.

我正在使用jQuery 1.4.4,据我所知,我不再需要使用.live或.bind了.DOM中任何时候都不会有多个div#star.我尝试从id ="star"更改为class ="star",但这没有帮助.

关于如何使这个工作或为什么它不工作的任何建议?

我在jQuery(document).ready中有.click,并且在外部js文件中,并且在将div添加到DOM之后都不起作用.

Emr*_*mre 11

这适用于jQuery 2.0.3

$(document).on('click', '#myDiv', function() {
    myFunc();
});
Run Code Online (Sandbox Code Playgroud)


Jas*_*son 9

从jQuery 1.7开始,不推荐使用.live()方法.目前的建议是使用.on(),它提供了覆盖事先处理程序的先前方法的所有功能.简而言之,您不必再决定,因为on()可以做到这一切.

文档以帮助轻而易举地提供从旧的jQuery事件方法转换.bind() ,.delegate().live()


Jan*_*Jan 6

您仍然需要使用直播活动.

http://api.jquery.com/live/