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"> ...
随机推荐
- 从maven安装配置到idea成功创建maven项目
在文章开始之前,我还是想安抚下你躁动的心情,说实话这一套操作下来的确花了我不少时间,的确头疼. 不过对于现在在看文章的你,我还是想提倡多多尝试,耐心哈,别砸键盘......废话少说切入正题 一. ma ...
- MVC (jsp + servlet + javabean) 以及jdbc
前端: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncod ...
- 技术派-常用的一些VS相关的宏名
用户宏 ConfigurationName 配置名字,通常是Debug或者Release IntDir 编译器使用的中间目录,产出obj文件 OutDir 链接器使用的输出目录 ProjectDir ...
- 如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?
Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神或许也能通过面试,但能力和工资有可能被低估.再仔细分析下原因,面试中问的问题,虽然在职位介绍里已经给出了范围,但针对每个点, ...
- 解决Apple Mobile Device USB Driver
在设备管理器里找到便携设备:APPLE IPHONE 更新驱动 自定义更新:在设备管理器里找到便携设备:APPLE IPHONE 更新驱动 自定义更新:C:\Program Files\Common ...
- ubuntu 如何搭建svn 服务器
1.在终端中直接输入 sudo apt-get install subversion,选择安装即可 来这个subversion同时包含了服务端和客户端. 2.(可选)看版本命令 svnserve - ...
- Python 语言规范(Google)
Python语言规范 Lint tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dy ...
- 1. 学习Linux操作系统
1.熟练使用Linux命令行(鸟哥的Linux私房菜.Linux系统管理技术手册) 2.学会Linux程序设计(UNIX环境高级编程) 3.了解Linux内核机制(深入理解LINUX内核) 4.阅读L ...
- IniRealm讲解
Shiro自定义Realm 内置Realm: user.ini [users] Mark=123456,admin [roles] admin=user:delete,user:update IniR ...
- c语言小游戏-三子棋的完成
三子棋的实现 一.实现思路 1.初始化数组 三子棋是九宫格的格式,所以用二维数组接收数据.用‘O’代表电脑下的子,‘X’代表玩家下的子.未下子的时候初始化 ’ ‘(space).则二维数组为“char ...