当任何用户单击它时,我想向段落添加一个事件处理程序。例如,我有一个段落,当用户单击它时会显示警报,但没有在 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;
当任何用户单击它时,我想向段落添加一个事件处理程序。例如,我有一个段落,当用户单击它时会显示警报,但没有在 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;
您可以添加事件侦听器。
史密斯。像这样:
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>
为了适应大多数情况,您可以编写一个函数来处理此问题:
var bindEvent = function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else {
element.attachEvent('on'+type, handler);
}
}
tabIndex
为您的p
元素添加一个属性,然后您就可以使用该onfocus
功能。