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 冒泡事件阻止实现代码
Jan 27 Javascript
Javascript小技巧之生成html元素
May 15 Javascript
判断复选框是否被选中的两种方法
Jun 04 Javascript
JavaScript设计模式之工厂方法模式介绍
Dec 28 Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
微信小程序实现多选删除列表数据功能示例
Jan 15 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 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 无线电
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
require.js中的define函数详解
2017/07/10 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python+django实现简单的文件上传
2016/08/17 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
Python collections模块的使用方法
2020/10/09 Python
详解Django中异步任务之django-celery
2020/11/05 Python
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
迟到早退检讨书
2014/02/10 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
九华山导游词
2015/02/03 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python