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读取xml
Nov 04 Javascript
javascript弹出拖动窗口
Aug 11 Javascript
javascript设置和获取cookie的方法实例详解
Jan 05 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
Oct 28 Javascript
React Router基础使用
Jan 17 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
js实现从左向右滑动式轮播图效果
Jul 07 Javascript
利用JQUERY实现多个AJAX请求等待的实例
Dec 14 jQuery
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
May 15 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 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简单留言本功能实现代码
2017/06/09 PHP
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
jQuery原生的动画效果
2015/07/10 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
JS中的三个循环小结
2017/06/20 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python中如何进行连乘计算
2020/05/28 Python
怎么快速自学python
2020/06/22 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
美的官方商城:Midea
2016/09/14 全球购物
高中教师先进事迹材料
2014/08/22 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
骨干教师考核评语
2014/12/31 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
现役军人家属慰问信
2015/03/24 职场文书
2015年团支书工作总结
2015/04/03 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python