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 相关文章推荐
JavaScript写的一个DIV 弹出网页对话框
Aug 14 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
Jul 29 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
Jun 26 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
Jan 04 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
vue中实现上传文件给后台实例详解
Aug 22 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 23 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
python实现基本进制转换的方法
2015/07/11 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
如何在python中执行另一个py文件
2020/04/30 Python
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
项目计划书范文
2014/01/09 职场文书
公司业务员岗位职责
2014/03/18 职场文书
毕业证委托书范文
2014/09/26 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
初中语文教学随笔
2015/08/15 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
班级班风口号大全
2015/12/25 职场文书
导游词之镇江焦山
2019/11/21 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
React实现动效弹窗组件
2021/06/21 Javascript
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
Mysql 一主多从的部署
2022/05/20 MySQL
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL