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基本概念初级讲解论坛贴的学习记录
Feb 22 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
js判断页面中是否有指定控件的简单实例
Mar 04 Javascript
JavaScript中的getTime()方法使用详解
Jun 10 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
javascript实现简易计算器的代码
May 31 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 Javascript
js实现购物车功能
Jun 12 Javascript
layui操作列按钮个数和文字颜色的判断实例
Sep 11 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 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实现下载限制速度示例分享
2014/02/13 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php简单截取字符串代码示例
2016/10/19 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python文件操作整理汇总
2014/10/21 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
python 实现波浪滤镜特效
2020/12/02 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
化妆品活动策划方案
2014/05/23 职场文书
环保标语口号
2014/06/13 职场文书
军训结束新闻稿
2015/07/17 职场文书