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精华代码集
Jan 24 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
element-ui的回调函数Events的用法详解
Oct 16 Javascript
vue中axios实现数据交互与跨域问题
May 12 Javascript
js键盘事件实现人物的行走
Jan 17 Javascript
Vue实现Layui的集成方法步骤
Apr 10 Javascript
JavaScript组合设计模式--改进引入案例分析
May 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
小程序实现分类页
2019/07/12 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python安装第三方库的3种方法
2015/06/21 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Python实现八皇后问题示例代码
2018/12/09 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
Python tkinter常用操作代码实例
2020/01/03 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
思想政治自我鉴定
2013/10/06 职场文书
毕业生自荐书模版
2014/01/04 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
2014年度思想工作总结
2014/11/27 职场文书
顶岗实习协议书
2015/01/29 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL