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 相关文章推荐
用JS提交参数创建form表单在FireFox中遇到的问题
Jan 16 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
JQuery控制radio选中和不选中方法总结
Apr 15 Javascript
jquery表单对象属性过滤选择器实例分析
May 18 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
Bootstrap Chart组件使用教程
Apr 28 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
Aug 25 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
在html中引入外部js文件,并调用带参函数的方法
Oct 31 Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 Javascript
jquery dataview数据视图插件使用方法
Dec 23 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 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
PHP HTML代码串 截取实现代码
2009/06/29 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
Chrome Web App开发小结
2014/09/04 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
python实现按长宽比缩放图片
2018/06/07 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
法律专业自我鉴定
2013/10/03 职场文书
会计专业自我鉴定范文
2013/10/06 职场文书
小学语文业务学习材料
2014/06/02 职场文书
奥林匹克的口号
2014/06/13 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS