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打包类,基本可以实现所有的滚动效果,太强了
Dec 08 Javascript
Js callBack 返回前一页的js方法
Nov 30 Javascript
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
jquery实现的一个导航滚动效果具体代码
May 27 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
JS调用Android、Ios原生控件
Jan 06 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
Apr 22 Javascript
element ui分页多选,翻页记忆的实例
Sep 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
世界收音机发展史
2021/03/01 无线电
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
python re模块和正则表达式
2021/03/24 Python
房地产开发计划书
2014/01/10 职场文书
给领导的致歉信范文
2014/01/13 职场文书
教学实习自我评价
2014/01/28 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
求职导师推荐信范文
2015/03/27 职场文书
python中的None与NULL用法说明
2021/05/25 Python
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫