如题。即使是newCotent===originalCotent,也不行
|
FuryBeanDec 28, 2011
1
一个元素的子元素已经替换成其他元素了,其他元素不具备原来元素的事件。
|
|
daqingDec 28, 2011
2
如果用jQuery的话,在注册监听事件时,用live()函数就可以了。
|
|
benzheDec 28, 2011
3
因为已经是不同的对象了
|
|
zythumDec 28, 2011
4
就好比,你有一只手表。来了个人把你替代了。那他还有木有你的手表呢,
|
|
zzNuckerDec 28, 2011
7
re 2楼 要告诉jQuery绑定事件的对象可能在将来再添加
|
|
honkDec 29, 2011
11
$(document).on('event', 'selector', function(){});
真要替換整個文檔的內容,倒不如重新發請求 |
|
mudkipDec 29, 2011 via iPad
13
修改 innerHTML 几乎相当于把里面的元素全部删了重来,所以其中的事件就不在了。jQuery live 方法大概是把事件绑定在 document 上,然后根据 target 判断所触发的元素吧,这样其中的元素的增删就不会影响事件。
|
|
15
又有问题了,对于event,用.live可以在替换内容后仍然生效,但像document.getElementById('testID') 这样的语句,却还是失效,这是为什么呢?
|