javascript中为某个元素指定事件的三种方式


Posted in Javascript onAugust 07, 2014

在javascript中,可以为某个元素指定事件,指定的方式有以下三种:
1、在html中,使用onclick属性
2、在javascript中,使用onclick属性
3、在javascipt中,使用addEvenListener()方法

三种方法的比较
(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
(2)首选第二、三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容。

一些语法细节
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。

onclick="clickHandler()"
document.getElementById("jsOnClick").onclick = clickHandler2; 
document.getElementById("addEventListener").addEventListener("click", clickHandler2);

完整代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Even Deom</title> 

</head> 
<body> 
<button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button> 
<button id="jsOnClick">jsOnClick</button> 
<button id="addEventListener">addEventListener</button> 

<script defer> 
function clickHandler() { 
alert("onclick attribute in html"); 
} 
function clickHandler2(e) { 
alert(e.target.innerHTML); 
} 
document.getElementById("jsOnClick").onclick = clickHandler2; 
document.getElementById("addEventListener").addEventListener("click", 
clickHandler2); 
</script> 
</body> 
</html>

在javascript中,可以为某个元素指定事件,指定的方式有以下三种:
1、在html中,使用onclick属性

2、在javascript中,使用onclick属性
(1)注意函数名没有双引号。

3、在javascipt中,使用addEvenListener()方法

三种方法的比较
(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。

一些语法细节
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。

onclick="clickHandler()"
document.getElementById("jsOnClick").onclick = clickHandler2; 
document.getElementById("addEventListener").addEventListener("click", clickHandler2);

完整代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Even Deom</title>

</head>
<body>
<button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button>
<button id="jsOnClick">jsOnClick</button>
<button id="addEventListener">addEventListener</button>

<script defer>
function clickHandler() {
alert("onclick attribute in html");
}
function clickHandler2(e) {
alert(e.target.innerHTML);
}
document.getElementById("jsOnClick").onclick = clickHandler2;
document.getElementById("addEventListener").addEventListener("click",
clickHandler2);
</script>
</body>
</html>
Javascript 相关文章推荐
jQuery编写widget的一些技巧分享
Oct 28 Javascript
jquery蒙版控件实现代码
Dec 08 Javascript
javascript重复绑定事件造成的后果说明
Mar 02 Javascript
jquery的ajax简单结构示例代码
Feb 17 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
Feb 17 Javascript
Javascript原型链和原型的一个误区
Oct 22 Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
Sep 07 Javascript
微信小程序 调用微信授权窗口相关问题解决
Jul 25 Javascript
原生JavaScript实现五子棋游戏
Nov 09 Javascript
谷歌地图打不开的解决办法
Aug 07 #Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 #Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 #Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 #Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 #Javascript
js触发select onchange事件的小技巧
Aug 05 #Javascript
jquery中each遍历对象和数组示例
Aug 05 #Javascript
You might like
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
Python3列表List入门知识附实例
2020/02/09 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
python 元组和列表的区别
2020/12/30 Python
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
售后主管岗位职责
2013/12/08 职场文书
实用求职信范文分享
2013/12/25 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
政协调研汇报材料
2014/08/15 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
辞职信标准格式
2015/02/27 职场文书