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 keypress,keyup,onpropertychange键盘事件
Jun 25 Javascript
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
Feb 08 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
JS给超链接加确认对话框的方法
Feb 24 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 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
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
详解php用static方法的原因
2018/09/12 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
JavaScript 继承使用分析
2011/05/12 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
英国自行车商店:AW Cycles
2021/02/24 全球购物
出国留学介绍信
2014/01/13 职场文书
我为自己代言广告词
2014/03/18 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
文明演讲稿范文
2014/05/12 职场文书
政协调研汇报材料
2014/08/15 职场文书
质量保证书
2015/01/17 职场文书
物业保安辞职信
2015/05/12 职场文书
立案决定书范文
2015/06/24 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android