我希望在任何用户点击它时为段落添加事件处理程序。例如,我有一个段落,当用户点击它时会显示警告,但不在HTML上使用“onclick”。
<p id="p1">This is paragraph Click here..</p>
<a href="http://www.google.com" id="link1" >test</a>
document.getElementById('p1').onmouseover = paragraphHTML;
答案 0 :(得分:24)
您可以添加事件监听器 水木清华。像这样:
var el = document.getElementById("p1");
if (el.addEventListener) {
el.addEventListener("click", yourFunction, false);
} else {
el.attachEvent('onclick', yourFunction);
}
(谢谢@Reorx)
完整代码(在Chrome和IE7中测试):
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<script type="text/javascript">
window.onload =function (){
var el = document.getElementById("p1");
if (el.addEventListener) {
el.addEventListener("click", yourFunction, false);
} else {
el.attachEvent('onclick', yourFunction);
}
};
function yourFunction(){
alert("test");
}
</script>
</head>
<body>
<p id="p1">test</p>
</body>
</html>
答案 1 :(得分:6)
为了适应大多数情况,您可以编写一个函数来处理:
var bindEvent = function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else {
element.attachEvent('on'+type, handler);
}
}
答案 2 :(得分:1)
在tabIndex
元素中添加p
属性,然后您可以使用onfocus
功能。