现在的位置: 首页 > 综合 > 正文

js事件驱动中的几种绑定监听方法

2018年01月16日 ⁄ 综合 ⁄ 共 1545字 ⁄ 字号 评论关闭

1、直接在某个html控件上指定

2getElementById("")获取控件后,再绑定

3、通过addEventListener()或者是attachEvent()来绑定

4、一个事件可以有多个事件监听者(函数)


1、直接在某个html控件上指定

<html>
<head>
<title>event示例</title>
<scriptlanguage="javascript" type="text/javascript">
         function test(){
                   alert("hello!");
         }
</script>
</head>
<body>
<inputid="but" type="button" value="测试"  onclick="test()"/><br>
</script>
</body>
</html>

2getElementById("")获取控件后,再绑定

<html>
<head>
<title>event示例</title>
<scriptlanguage="javascript" type="text/javascript">
<!--
         function test(){
                   alert("hello!");
         }
//-->
</script>
</head>
<body>
<inputid="but" type="button" value="测试"/><br>
<scriptlanguage="javascript" type="text/javascript">
         document.getElementById("but").onclick=test; //注意这里是.onclick,相当于添加属性,不要onclick()
</script>
</body>
</html>

3、通过addEventListener()或者是attachEvent()来绑定

W3C DOM标准:

[Object].addEventListener("name_of_event",fnHandler,bCapture);

[Object].removeEventListener("name_of_event",fnHandler,bCapture);

IE中独有的事件监听方法:

[Object].attachEvent("name_of_event_handler",fnHandler);

[Object].detachEvent("name_of_event_handler",fnHandler);

如果有一个投票系统,但是只能投一次(使用attachEvent detachevent)

<html>
<head>
<title>attachEvent示例</title>
<script language="javascript" type="text/javascript">
<!--
function test(){
alert("你投了一次票!");
//解除事件绑定 detachEvent高版本IE无法使用
//接触事件绑定
document.getElementById("but1").detachEvent("onclick",test);
}
//-->
</script>
</head>
<body>
<input id="but1" type="button" value="投票" /><br>
<script language="javascript" type="text/javascript">
//attachEvent高版本IE无法使用
document.getElementById("but1").attachEvent("onclick",test);
</script>
</body>
</html>

4、一个事件可以有多个事件监听者(函数)

该功能就是用多个函数实现的

抱歉!评论已关闭.