JS事件绑定的三种方式比较
js事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
width:100%;
height:100%;
}
input{
display: block;
margin-bottom:10px;
}
.active{
color:orange;
}
</style>
<script src="DomReady.js"></script>
<script>
myReady(function(){ var btn = document.querySelector("#btn");
//时间句柄
var clickme = function(){
alert("hello~");
}
btn.addEventListener("click", clickme);
}); </script>
</head>
<body> <button id="btn">点击我</button>
</body>
</html>

事件监听的三种方法:
1、直接在html上添加事件(不建议)
强耦合,不利用代码复用
2、DOM 0级
一个元素只能绑定一个事件的限制
如果绑定了多个事件,后面的会覆盖掉前面的
2、DOM 2级
一个事件可以绑定多个监听函数
还可以定义事件捕获和事件冒泡
btn.addEventListener("click", fn, false); 第三个参数默认是false
btn.attachEvent("onclick", fn); IE的事件监听函数attachEvent
document.body.addEventListener("load", init);
document.body.attachEvent("onload", init);
function init(){}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
width:100%;
height:100%;
}
input{
display: block;
margin-bottom:10px;
}
.active{
color:orange;
}
</style>
<script src="DomReady.js"></script>
<script>
myReady(function(){ // DOM 0级
var btn3 = document.querySelector("#btn3");
btn3.onclick=function(){
alert("hello3~");
} var btn4 = document.querySelector("#btn4");
function click4(){
alert("hello4~");
}
btn4.onclick=click4; // DOM 2级
var btn5 = document.querySelector("#btn5");
//事件句柄
var click5 = function(){
alert("hello5~");
}
//这里的clickme不需要加括号
btn5.addEventListener("click", click5); });
</script>
</head>
<body>
<!-- 直接加在HTML上的两种方式 -->
<button id="btn1" onclick="alert('hello1~')">按钮1</button>
<!-- 这里的click1()需要加括号 -->
<button id="btn2" onclick="click2()">按钮2</button><br> <!-- DOM 0级 -->
<button id="btn3">按钮3</button>
<button id="btn4">按钮4</button><br> <!-- DOM 2级 -->
<button id="btn5">按钮5</button> <script>
// 突然发现这个函数只能在btn的后面,而不能在前面
// 即使用了domReady也不行哎
function click2(){
alert("hello2~");
}
</script>
</body>
</html>
JS事件绑定的三种方式比较的更多相关文章
- JS中事件绑定的三种方式
以下是搜集的在JS中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="upl ...
- JavaScript 中事件绑定的三种方式
以下是在 JS 中事件绑定的三种方式. 1. HTML onclick attribute <button type="button" id="uplo ...
- JavaScript事件绑定的三种方式
(一)事件绑定的三种方式 (1)通过on的形式 <script type="text/javascript"> var div = document.getElemen ...
- js事件绑定的几种方式与on()、bind()的区别
版权声明:本文为博主原创文章,未经博主允许不得转载 一直不是很理解几种js事件绑定之间的区别与联系,今天百度了一下,在此做一总结: 1.如果只是简单的绑定一个事件,可以直接写在行内,点击执行一个函数, ...
- JavaScript中事件绑定的三种方式
JavaScript使得网页与用户友好交互,在使用 js 进行时间绑定的时候有三种绑定方式. 第一种:初学者以及普通写法 <div id="dom0"> <inp ...
- js事件绑定的几种方式
在JavaScript中,有三种常用的绑定事件的方法: 在DOM元素中直接绑定: 在JavaScript代码中绑定: 绑定事件监听函数 一. 在DOM元素中直接绑定 这里的DOM元素,可以理解为HTM ...
- JS 事件绑定的几种方式 小笔记
第一种 var test=document.getElementById('add'); add.onclick=function(){ alert('1'); } 直接在对象上注册事件 缺点:如果我 ...
- js中的事件绑定的三种方式
1 直接在html标签中绑定 <button onclick = "show()"></button> 注意当你引用的js代码是包裹在window.onlo ...
- js声明变量的三种方式
JS 声明变量的三种方式 (1)使用变量步骤:a.声明-->b.赋值-->3.调用 正确用法: <script type="text/javascript"> ...
随机推荐
- LeetCode刷题总结-链表
LeetCode刷题总结-链表 一.链表 链表分为单向链表.单向循环链表和双向链表,一下以单向链表为例实现单向链表的节点实现和单链表的基本操作. 单向链表 单向链表也叫单链表,是链表中最简单的 ...
- ajax--->请求异常 jQuery提示parsererror错误解决办法
ajax请求异常 jQuery提示parsererror错误解决办法 原因:出现这个错误是因为后端返回的数据类型和前端请求中dataType的要求类型不一致导致的. dataType简介:jquery ...
- linux--->Linux centon6.9 安装mysql
Linux centon6.9 安装mysql 查看系统自带的安装包 yum list installed | grep mysql 2.上边显示有mysql 有5.1和5.5两个版本,我安装5.5 ...
- Jenkins环境配置(集成自动化程序)
一.下载 直接到官网https://jenkins.io/download/ 进行下载 二.安装 1.在浏览器地址栏输入:http://loclhost:8081 运行Jenkins,首次进入会提示 ...
- logback 发送邮件和自定义发送邮件;java类发送邮件
使用logback发送邮件 需求: 1.报错发邮件,定位错误位置以尽快解决:(报错发送邮件) 2.某一项重要操作完成之后发送邮件:(自定义发送邮件) 没有接触过logback,怎么办? 没办法,硬着头 ...
- requestAnimationFrame 与 seeTimeout 的区别
requestAnimationFrame 随着浏览器的刷新而执行. let a = () =>{ doSomething() ; window.reques ...
- mplayer的参数
播放文件 使用 MPlayer 播放媒体文件最简单的方式是: mplayer <somefile> MPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播 ...
- random模块学习笔记
import random #生成随机浮点数(0到1,没有参数) rf1= random.random() #生成随机浮点数(指定区间) rf2=random.uniform(1,4) #浮点数保留指 ...
- 初学maven的一些配置
初学Maven的一些配置 1.maven的安装 2.从官网下载3.6.1版本后,高级版本可能会出现不兼容 jdk1.8 3.配置maven 在 settings.xml <settings> ...
- Windows搭建IIS服务器使用NATAPP实现内网穿透
目的:外网可以访问本地网页. 步骤: 一.实现内网访问 1.Win+Q搜索[控制面板],选择[程序],点击[启用或关闭Windows功能], 2.勾选[Internet Information Ser ...