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代码(如:name,age)
Aug 10 Javascript
js字符串完全替换函数分享
Dec 03 Javascript
javascript实现playfair和hill密码算法
Dec 07 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
May 18 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
JS实现碰撞检测效果
Mar 12 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
Nov 03 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常用函数的用法详解
2013/05/10 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php单例模式实现方法分析
2015/03/14 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
浅谈js闭包理解
2019/04/01 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
Python3解释器知识点总结
2019/02/19 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
环保标语口号
2014/06/13 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
中学校园广播稿
2015/08/18 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python