关于动态生成的行内元素添加事件问题

Posted shenwh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于动态生成的行内元素添加事件问题相关的知识,希望对你有一定的参考价值。

平时工作中会遇到动态给某个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(){....};

这样子生成的元素才会有效,事件才得以添加执行!

 

以上是关于关于动态生成的行内元素添加事件问题的主要内容,如果未能解决你的问题,请参考以下文章

行内块元素 块元素内联元素关于text-align:center margin:0 auto的比较

关于盒子模型以及块元素和行内元素

关于css的行内元素的居中问题??

js怎么删除css的行内样式

关于块级元素和行内元素的总结(面试常考)

前端笔记----类型转换display