我附上了一些像这样的div:
var to = "Some content"
$("#key").append("<div class=\"cont\">"+to+" <span ded="+ lastid +" class=\"\contspan\">X</span></div> ");
然后我尝试通过这样做来绑定div上的事件与类cont
:
$('.cont').delegate('div', 'click', function() {
$("#logger").html("click")
});
但这不起作用? 我哪里出错?
修改:
我试图将一个bacground颜色放到类cont
上,并且颜色是为了表明类ID添加得很好
答案 0 :(得分:4)
你没有正确使用委托,试试这个:
$('#key').delegate('div.cont', 'click', function() {
//var text1 = $(this).attr("ded");
$("#logger").html("click")
});
您在不会更改的元素('#key')上调用委托方法,然后将动态元素的选择器('div.cont')作为第一个参数传递给它。
答案 1 :(得分:0)
尝试使用.live()函数代替委托。
$('.cont').live('click', function() {
// var text1 = $(this).attr("ded");
$("#logger").html("click");
}
答案 2 :(得分:0)
你的.cont中没有<div>
http://sandbox.phpcode.eu/g/1cbbd.php
<div id="key">
</div>
<div id="logger">
</div>
<script>
var to = "Some content";
var lastid = "test";
$("#key").append("<div class='cont'>"+to+"<span ded='"+ lastid +"' class='contspan'>X</span></div> ");
$('.cont').delegate('span', 'click', function() {
//var text1 = $(this).attr("ded");
$("#logger").html("click")
});
</script>