JS:
$(".x").click(function()
{
alert("hello");
return false;
});
$("#otherdiv").html("<div class='x'>Drag and drop values on the right to create a pivot table.</div><br />");
CSS:
div.x
{
background-color: white;
border: dotted 1px;
cursor: pointer;
width: auto;
float: left;
position: absolute;
top: 15%;
left: 10%;
padding: 10px;
}
当我点击“x”类的div时,没什么好开心的。
答案 0 :(得分:6)
您无法使用click
附加事件处理程序,因为您的<div>
是动态添加的。 click
方法仅适用于现有元素。您必须使用live
[API Ref] 或delegate
[API Ref] < / sup> 而不是。
更新:来自jQuery&#39; live
文档:
从jQuery 1.7开始,不推荐使用
.live()
方法。使用.on()
[API Ref] 附加事件处理程序。旧版jQuery的用户应优先使用.delegate()
{。{1}}。
答案 1 :(得分:2)
我认为您需要使用jQuery .live()函数,该函数还会将事件附加到将来创建的所有元素。
答案 2 :(得分:2)
在.x类div上使用委托在body或容器上:http://jsfiddle.net/MEEHN/
$('body').delegate('.x','click',function(){
alert(1);
});
$('<div class="x">asd</div>').appendTo('body');