js、jq事件绑定方式总结——以click事件为例
一、JavaScript点击事件绑定方法
1.1 HTML onclick事件属性
<button onclick="clickMe(this)">click me</button>
function clickMe(this) {
alert("click me");
}
1.2 JavaScript onclick事件
<button id="button">click me</button>
document.getElementById("button").onclick=clickMe;
1.3 IE4+<script for>
<button id="button1">click me</button>
<script for="button1" event="onclick">
alert("click me");
</script>
1.4 IE5/windows attachEvent()方法
<button id="button2">click me</button>
document.getElementById("button2").attachEvent("onclick",clickMe);
1.5 W3C DOM addEventListener()方法
<button id="button3">click me</button>
document.getElementById("button3").addEventListener("click",clickMe);
二、jQuery点击事件绑定方法
2.1 click事件绑定
2.1.1 将函数绑定到click事件
语法:
$(selector).click(function)
实例:
<button id="button2_1">click me</button>
$("#button2_1").click(function(e){
alert(e);
});
2.1.2 触发click事件
语法:
$(selector).click()
2.2 dblclick()方法
语法:
$(selector).dblclick(function)
实例:
<button id="button2_7">click me</button>
$("#button2_7").dblclick(function(e) {
alert(e);
});
2.3 bind()方法 unbind()方法
2.3.1 bind()方法 将事件和函数绑定到元素(可添加一个或多个事件,可传递额外数据到函数)
语法(添加一个事件):
$(selector).bind(event,data,function)
语法(添加多个事件):
$(selector).bind({event:function, event:function, ...})
实例:
<button id="button2_2">click me</button>
$("#button2_2").bind("click", function(e) {
alert(e);
});
2.3.2 unbind()方法 取消绑定元素的事件处理程序和函数(可添加一个或多个事件,可传递额外数据到函数)
语法(取消绑定一个事件):
$(selector).unbind(event,function)
语法(取消绑定多个事件):
$(selector).unbind(eventObj)
实例:
1 $("#button2_2").unbind();
2.4 live()方法 die()方法
2.4.1 live()方法 为被选元素附加一个或多个事件处理程序
语法:
$(selector).live(event,data,function)
实例:
<button id="button2_3">click me</button>
$("#button2_3").live("click", function(e) {
alert(e);
});
2.4.2 die()方法 移除所有通过 live() 方法向指定元素添加的一个或多个事件处理程序
语法:
$(selector).die(event,function)
实例:
1 $("#button2_3").die();
2.5 delegate()方法 undelegate()方法
2.5.1 delegate()方法 为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序
语法:
$(selector).delegate(childSelector,event,data,function)
实例:
<button id="button2_4">click me</button>
$("body").delegate("#button2_4", "click", function(e) {
alert(e);
});
2.5.2 undelegate()方法 为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序
语法:
$(selector).undelegate(selector,event,function)
实例:
1 $("#button2_4").undelegate();
2.6 on()方法 off()方法
2.6.1 on()方法 在被选元素及子元素上添加一个或多个事件处理程序
语法:
$(selector).on(event,childSelector,data,function,map)
实例:
<button id="button2_5">click me</button>
$("#button2_5").on("click", function(e) {
alert(e);
});
2.6.2 off()方法 通常用于移除通过 on() 方法添加的事件处理程序
语法:
$(selector).off(event,selector,function(eventObj),map)
实例:
1 $("#button2_5").off("click");
2.7 one()方法 每个元素只能运行一次事件处理器函数
2.7.1 one()方法 为被选元素附加一个或多个事件处理程序,并规定当事件发生时运行的函数
语法:
$(selector).one(event,data,function)
实例:
<button id="button2_6">click me</button>
$("#button2_6").one("click", function(e) {
alert(e);
});
三、jQuery点击事件绑定方法比较
jQuery点击事件方法 |
适用jQuery版本 | 是否支持未来新添加元素的事件设置 |
click |
适用所有版本 | 否 |
dblclick |
适用所有版本 | 否 |
bind |
适用所有版本,但是根据官网解释,自从jquery1.7版本以后bind()函数推荐用on()来代替。 | 否 |
live |
jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替。 | 是 |
delegate |
jquery1.4.2及其以上版本。 | 是 |
on |
jquery1.7及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式。 | 是 |
one |
适用jQuery1.0-jQuery3.1版本 |
js、jq事件绑定方式总结——以click事件为例的更多相关文章
- 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡
### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ...
- jq常用事件(on,blur,focus,change),js/jq等待图片(页面)加载完毕事件,js读取文件
jq常用事件(on,blur,focus,change) // 方法一(推荐) $('.box').on( "click",function() {} ) $('.box').on ...
- 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解
1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...
- jquery事件绑定方式总结(补充)
总结 : 1.简单事件绑定方式:事件名() 如:click() 2.高级事件绑定方式:bind(事件名,数据参数,function) 3.动态生成元素事件绑定方式:live(事件名,数据参数, ...
- js jq输入框中按回车触发提交事件,用户在页面输入后按回车(Enter键)进行
js jq输入框中按回车触发提交事件,用户在页面输入后按回车(Enter键)进行 代码如下: <!DOCTYPE html> <html lang="en" xm ...
- atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29 1. 三 绑定方式的介绍1 2. To接口,链式绑定,用的最多的1 3. toC ...
- jq和js中click 事件的几种方式总结和click事件的累加问题解决办法
1:常见的三种绑定click事件: 第一种:$("#click").click(function(){ alert("Hello World click") ...
- javaScript事件机制深入学习(事件冒泡,事件捕获,事件绑定方式,移除事件方式,阻止浏览器默认行为,事件委托,模拟浏览器事件,自定义事件)
前言 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码.这种在传统软 ...
- jQuery事件绑定方式(转)
bind() 简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多 ...
随机推荐
- Binary Tree Level Order Traversal II(层序遍历2)
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库 ...
- Nuget发布教程
nuget setApiKey Your-API-Key -Source https://www.nuget.org/api/v2/package nuget spec nuget pack Monk ...
- 简单剖析Node中的事件监听机制(一)
使用js的class类简单的实现一个事件监听机制,不同于浏览器中的时间绑定与监听,类似于node中的时间监听,并且会在接下来的文章中去根据自己的理解去写一下Event模块中的原理. Node.js使用 ...
- java面试题,附个人理解答案
一,面向对象的特征:1.抽象 包括数据抽象跟行为抽象,将对象共同的特征取出形成一个类2.继承 被继承类为基类/超类,继承类为子类/派生类3.封装 多次使用道德数据或方法,封装成类,方便多次重复调用4. ...
- id为194024的进程当前未运行
.NET MVC 编译运行时 提示 >> id为194024的进程当前未运行 << 清理解决方案,重新运行
- Html5列表元素
<ol> 有序列表: 属性:type(设置样式),reversed(倒序) <ul>无序列表 <li>表示列表中的项(在<ol>和<ul>中 ...
- 洛谷 P2491 解题报告
P2491 消防 题目描述 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个 ...
- 设计模式之策略模式(Strategy Pattern)
模板方法是通过继承实现的,在父类中定义出算法的骨架,将不同点在子类中实现.而策略模式是通过接口实现的,策略中定义了完整的算法.它们有点像啊-- 策略模式的定义 策略模式(Strategy Patter ...
- Unity3D学习(六):《Unity Shader入门精要》——Unity的基础光照
前言 光学中,我们是用辐射度来量化光. 光照按照不同的散射方向分为:漫反射(diffuse)和高光反射(specular).高光反射描述物体是如何反射光线的,漫反射则表示有多少光线会被折射.吸收和散射 ...