在javascript中,可以为某个元素指定事件,指定的方式有以下三种:
1、在html中,使用onclick属性
2、在javascript中,使用onclick属性
3、在javascipt中,使用addEvenListener()方法
三种方法的比较
(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
(2)首选第二、三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容。
一些语法细节
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。
οnclick="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" οnclick="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)第一种方法需要括号,第二、三种不需要。
οnclick="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" οnclick="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. JavaScript中定义对象的几种方式

    JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下5种方式(附加改进方式): 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型(&q ...

  2. 代码示例:Java中定义数组的三种方式

    在Java中,数组的定义有三种方式,其基本语法格式如下: 数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...}; ...

  3. Python的类中定义函数的三种方式及其利用

    类中方法/函数: 普通方法 直接定义(含self) 类方法 @classmethod 静态方法 @staticmethod 类中变量: 静态变量 普通变量 定义在构造函数中(__init__) 看代码 ...

  4. 1.JavaScript中定义数组的两种主要方式

    JavaScript中定义数组的两种主要方式(new Array()和[]方式) new Array() ①可以用像JAVA的那种写法的方式定义,如 var arr = new Array() 这样定 ...

  5. java的如何创建js_[Java教程]JS创建事件的三种方式(实例)

    [Java教程]JS创建事件的三种方式(实例) 0 2016-05-11 14:00:16 1.普通的定义方式 οnclick="Sfont=prompt('请在文本框中输入红色','红色' ...

  6. java c 事件对比_javacsript绑定事件的三种方式与各自特点

    javacsript绑定事件的三种方式与各自特点 javacsript绑定事件的三种方式与各自特点 点击打开链接 javacsript绑定事件的三种方式与各自特点 feipeng8848 2017-0 ...

  7. DOM注册事件的三种方式~满满的干货哦

    Hello ~ 下面是对DOM注册事件的三种方式,希望可以帮助到有需要的小伙伴 注册事件就是将JavaScript函数与指定的事件相关联. 当该事件被触发时,绑定的函数会被调用. HTML页面元素提供 ...

  8. Django中Model继承的三种方式

    Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...

  9. android获取自定义属性,android 自定义控件中获取属性的三种方式(转)

    第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...

最新文章

  1. EventBank闪耀企业服务 荣获“2017中国企业服务云年度产品”奖
  2. future.cancel不能关闭线程_多线程与高并发笔记
  3. 如何理解计算机程序中的宏?
  4. 第四点没有重定义吧,第一个i的作用域就是那个循环,它出了这个域就被释放了。...
  5. Microsoft Office 2010 中的 Office 检测到此文件有问题
  6. Server JRE 简介
  7. 只需2个公式,3阶魔方7步还原法
  8. 计算智能——密码分析:面向对象的分析与设计之Use Cace图
  9. 标准差np.std()
  10. 《天长地久》写照真实生活为何被影迷埋没不被欣赏
  11. 计算机基础课件ppt教案,计算机应用基础教案项目二ppt课件.ppt
  12. 修改pc端浏览器的滚动条的默认样式
  13. 跟相亲对象微信聊什么?聊天绝学四步走一试便知有没有
  14. pdf解密方法,pdf权限限制如何解除?
  15. 详解Git合并冲突——原因及解决 “Automatic merge failed; fix conflicts and then commit the result.“
  16. 知道焊缝长度如何确定节点板尺寸_钢桁架节点图 中各尺寸确定原则 总结
  17. 网店买书如何避免被骗?
  18. 状态机控制移位寄存器multisim仿真过程中出现的状态变量和状态转移条件不匹配的问题
  19. mysql 字段长度建议_设计数据库时字段类型和长度建议
  20. 思科、锐捷、华为和华三防环机制,stp解决不了的故障

热门文章

  1. 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列
  2. 1058 A+B in Hogwarts (20 分)_7行代码AC
  3. 【详细解析】1033 To Fill or Not to Fill (25 分)
  4. 18行代码AC_排序 HDU - 1106(sstream简单解法)
  5. 计算机类学生发专利,关于统计2020年老师指导本科生发表科研论文数和申请专利数的通知...
  6. apache php mysql下载_linux+apache+php+mysql 安装
  7. 华硕计算机用户名默认,华硕路由器后台默认网址是多少
  8. TCP三次握手四次断开(图解)
  9. CSDN博文编辑技巧-如何去除上传的图片水印
  10. win7硬盘安装过程图解