有没有办法附加事件处理程序,例如onclick = alert(“ Hi”);?到现有文档元素? (以我为例)
我已经尝试并失败了以下内容:
img = document.getElementById("my_image");
img.onclick = "alert('hi')";
img.setAttribute ('onclick',"alert('hi')");
img.onclick = function() {"alert('hi')";};
img.onclick = function(evt) {"alert('hi')";};
img.setAttribute ('onclick',function() {"alert('hi')";});
function handler(evt) {"alert('hi')";}
img.onclick = handler;
我的想法不多了。有人知道怎么做这个吗?
最佳答案
zzandy的第一个答案应该很好。检查您所做的一切是否正确,尤其是Firefox可能会选择确保其处于兼容模式。这是完整的代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function AttachEvent()
{
var theElement = document.getElementById( 'the_image' );
theElement.onclick = function () { alert('message'); }
}
</script>
</head>
<body>
<img id='the_image' src='some_img.jpg' title='Click on the image' alt='Image not found' />
<button onclick='AttachEvent();'>Enable Click on image</button>
</body>
</html>
关于javascript - 如何使用Javascript将事件处理程序动态附加到文档元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1411545/