Javascript Onclick不';当通过jQuery创建DOM元素时,IE中不会触发

Javascript Onclick不';当通过jQuery创建DOM元素时,IE中不会触发,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,下面是我用来创建要单击的div的jQuery代码段 $("#someID").after('<div style="cursor:pointer; text-decoration:underline; display:inline;" onClick="alert(\'It Worked\');">Details</div>'); $(“#someID”)。在('Details')之后; 这在FireFox中运行没有任何问题,只是IE没有触发事件。div是在#some

下面是我用来创建要单击的div的jQuery代码段

$("#someID").after('<div style="cursor:pointer; text-decoration:underline; display:inline;" onClick="alert(\'It Worked\');">Details</div>');
$(“#someID”)。在('Details')之后;

这在FireFox中运行没有任何问题,只是IE没有触发事件。div是在#someID之后添加的,但是onclick不起作用。

您应该使用jQuery的
click
方法添加click处理程序,如下所示:

$('<div style="cursor:pointer; text-decoration:underline; display:inline;">Details</div>')
    .click(function() { alert('It Worked'); })
    .insertAfter('#someID');
$(“详细信息”)
。单击(函数(){alert('It Worked');})
.insertAfter('someID');

这会起作用,而且会快得多。(浏览器不需要启动Javascript解析器)

您应该使用jQuery的
click
方法添加click处理程序,如下所示:

$('<div style="cursor:pointer; text-decoration:underline; display:inline;">Details</div>')
    .click(function() { alert('It Worked'); })
    .insertAfter('#someID');
$(“详细信息”)
。单击(函数(){alert('It Worked');})
.insertAfter('someID');

这会起作用,而且会快得多。(浏览器不需要启动Javascript解析器)

使用或将事件绑定到页面加载后(将来)创建的元素。

使用或将事件绑定到页面加载后(将来)创建的元素。

您是否尝试过
onclick
(使用小写字母“c”)…如果您使用jQuery以编程方式添加元素,无论如何,为什么要用
onclick
?请参阅。您是否尝试过
onclick
(使用小写字母“c”)?…如果您使用jQuery以编程方式添加元素,那么为什么还要使用
onclick
?请参阅。我同意这一点,因为无论引用的元素是否已经在DOM中,live()都将绑定侦听器。我几乎放弃了使用click()。我同意这一点,因为不管引用的元素是否已经在DOM中,live()都会绑定侦听器。我几乎放弃了使用click()。这不是万无一失的。看我的答案。@Moin:是的,是的。你在说什么?所以我试着使用after,做了与上面相同的事情,但它不起作用,但切换到insertAfter和上面的解决方案,使它起作用。谢谢。这不是万无一失的。看我的答案。@Moin:是的,是的。你在说什么?所以我试着用after,做了与上面相同的事情,但它不起作用,但切换到insertAfter和上面的解决方案,使它起作用,谢谢。