js动态创建页面元素后绑定的事件,在下次修改这些元素时如何恢复这些事件。
我语言描述的不太清楚,举个例子来说明下。
这样一个模版<div id="body"></div>
我现在向body里追加一个div里面放一些内容,鼠标指向这个div时会出现一个编辑和删除的功能。
$("<div>123434</div>").appendTo($("#body")).hover(
function(){继续追加一个div上去,里面一个编辑按钮一个删除按钮},function(){移除掉这个编辑和删除功能的div}
);
这时页面变成这样<div id="body"><div>123434</div></div>.
然后我将<div>123434</div>会保存进数据库,用来生成页面。
然后这个模版还要可以修改的,打开编辑页面后我从数据库取出<div>123434</div>放进<div id="body"></div>里,这时hover事件由于这个div是从数据库取的,不是js来创建的,所以这个事件就没用了。
如何在绑定上这个事件呢。
由于模版内容很多,图片、文字、图片轮播、文章列表等等非常多东西,所以不可能加载模版后一个元素一个元素的在去绑定事件啊
[解决办法]
用js写,让js自己生成html元素
[解决办法]
可以使用事件代理)委派).delegate()
http://www.css88.com/jqapi-1.9/delegate/
[解决办法]
var el = Ext.getElementById( id );
el.addListener( {
mouseover: function(evt,el,o) {
}
} );