有没有办法附加事件处理程序,例如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/

10-15 14:41