平时工作中会遇到动态给某个div加子元素,有时候为了简便,直接如下写法:
var oBox = document.getElementById(‘box‘);
oBox .innerHTML = ‘<button onclick="change();">子元素</button>‘;
还顺便给子元素添加了一个点击事件,但发现当我们再外面定义了change函数之后,点击按钮报错,change is not defined!可想而知,这种动态添加子元素的方法是无法添加事件的,解决如下:
var oBox = document.getElementById(‘box‘);
var oButton = document.createElement(‘button‘);
oBox .appendChild(oButton );
oButton .onclick = function(){....};
这样子生成的元素才会有效,事件才得以添加执行!
原文地址:https://www.cnblogs.com/shenwh/p/11814124.html
时间: 2024-11-05 17:18:04