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 ui1.7 dialog只能弹出一次问题
Aug 27 Javascript
jquery UI 1.72 之datepicker
Dec 29 Javascript
jQuery实现原理的模拟代码 -6 代码下载
Aug 16 Javascript
javascript表单验证 - Parsley.js使用和配置
Jan 25 Javascript
JavaScript中的onerror事件概述及使用
Apr 01 Javascript
js计算字符串长度包含的中文是utf8格式
Oct 15 Javascript
JS字符串截取函数实例
Dec 27 Javascript
jQuery简易图片放大特效示例代码
Jun 09 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 Javascript
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
微信小程序实现多行文字滚动
Nov 18 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
php树型类实例
2014/12/05 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
python的几种开发工具介绍
2007/03/07 Python
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
详解supervisor使用教程
2017/11/21 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python3 max()函数基础用法
2019/02/19 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
Java面试题汇总
2015/12/06 面试题
纪检干部先进事迹材料
2014/08/23 职场文书
防灾减灾标语
2014/10/07 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
道歉短信大全
2015/05/12 职场文书
大学军训通讯稿
2015/07/18 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书