use*_*624 2 javascript jquery dynamic event-handling
这是我的代码
<html>
<head>
<script type="text/javascript">
window.onload = function(){
sel = document.getElementsByTagName('select');
for(i=0;i<sel.length;i++)sel[i].onclick = function(){alert('');}
}
</script>
</head>
<body>
<div id="ss"></div>
<select></select>
<input type="button" onclick="document.getElementById('ss').appendChild(document.createElement('select'))"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
用于静态标签的"onclick"事件"选择"但不适用于动态创建的"选择".换句话说,我想知道在Javascript中JQuery的.live的替代品.
将事件绑定到DOM中已存在的父元素:
document.body.addEventListener('click', function (e) {
if (e.target.tagName.toLowerCase() == 'select') {
alert('You clicked a select!');
}
});
Run Code Online (Sandbox Code Playgroud)
将点击绑定到"更接近"的元素会更加明智form,如果你使用getElementById()而不是getElementByTagName()更简单,因为你不必担心你绑定的数字的索引.