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

时间:2010-10-18 22:03:07

标签: javascript jquery html dom

所以这是我用来创建一个我想点击

的div的jQuery片段
$("#someID").after('<div style="cursor:pointer; text-decoration:underline; display:inline;" onClick="alert(\'It Worked\');">Details</div>');

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

2 个答案:

答案 0 :(得分:3)

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

$('<div style="cursor:pointer; text-decoration:underline; display:inline;">Details</div>')
    .click(function() { alert('It Worked'); })
    .insertAfter('#someID');

这将有效,而且速度也会快得多。 (浏览器不需要启动Javascript解析器)

答案 1 :(得分:0)

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