这里是一段简单的代码:
HTML:
<div id="close">Click me</div>
JS代码:
$("#close").click(function(){
alert("1");
$(this).attr('id','expand');
});
$("#expand").live('click', function(){
alert("2");
$(this).attr('id','close');
});
问题:当我点击“关闭”按钮时,它会自动调用live()。 在jsfiddle中查看:http://jsfiddle.net/uFJkg/ 这是因为我将同一元素的ID从“close”更改为“expand”吗? 我该如何解决这个问题?
我尝试过:
$("#expand").die().live('click', function()
但是它没有起作用。我尝试了 event.stopPropagation(),但那也没有帮助。我尝试使用一个具有ID“expand”的单独的div,在文档准备好时将其隐藏,但由于某种原因它也没有起作用。
后来我尝试了live() 已在jQuery 1.7+中被弃用:
$("#expand").on('click', function(){
这个也没有起作用。有什么想法吗?我认为新的视角可以发现我所忽略的问题。
谢谢。
true;
会发生什么? - Platinum Azure