不生效主要是因为:
动态追加的元素之前的都有事件都已经没了
解决方法:
给父级绑定事件,采用事件委托的方式
dom动态生成后,再次获取和重新绑定事件即可
可能原因如下:
1、点击事件名称是onclick,请不要出现拼写错误。
2、事件后面的对应的是方法名称,请确认该方法已经正确定义或者没有出现方法名称的拼写错误,方法名后要加(),如form()。
3、更改标签的内容需要inner.HTML且确认以获取到需要更改的div。
onclick实例:
<html><body>
Field1: <input type="text" id="field1" value="Hello World!">
<br />
Field2: <input type="text" id="field2">
<br /><br />
点击下面的按钮,把 Field1 的内容拷贝到 Field2 中:
<br />
<button onclick="document.getElementById('field2').value=
document.getElementById('field1').value">Copy Text</button>
</body>
</html>
效果如下:
这个问题不是显而易见吗?如果是不用中间变量var div来承接,而是直接用document.getElementsByClassName()这样来设置onclick事件的话编译器是不会提示的,因为编译器认为class可以重复,或许会有多个元素class都是相同的,直接换成document.getElementById()就行了,或者给document.getElementsByClassName()设置index,例如document.getElementsByClassName('div')[0].onclick()就OK,建议楼主去了解一下DOM结构欢迎分享,转载请注明来源:内存溢出
评论列表(0条)