jq和js中click 事件的几种方式总结和click事件的累加问题解决办法
1:常见的三种绑定click事件:
第一种:$("#click").click(function(){
alert("Hello World click");
});
第二种:$('#clickon').on('click', function(){
alert("Hello World on");
});
第三种:$('#clickbind').bind("click", function(){
alert("Hello World bind");
});
如下代码第一种和第二种和第三种在页面会先后弹出1和2 后者不会覆盖前面的。
<input type="button" id="btn">
$("#btn").click(function(){alert("1");})
$("#btn").click(function(){alert("2");})
想要只执行最近的点击。之前的click事件先解绑就会只弹出2 用unbind或者off
$("#btn").on("click",function(){alert("1");})
$("#btn").unbind("click").click(function(){alert("2");});
$("#btn").unbind("click").bind("click",function(){alert("2");});
$("#btn").off("click").click(function(){alert("2");});
$("#btn").off("click").on("click",function(){alert("2");});
2:js中点击事件
A:onclick是会覆盖。只弹出2
btn.onclick = function() {
alert(1);
}
btn.onclick = function() {
alert(2);
}
B:element.addEventListener(type,listener,useCapture); type去掉事件前边的“on”,比如“onclick”要写成“click”,“onmouseover”要写成momouseoveruse.Capture只能是true和false:true,采用capture(捕获)模式;false,采用bubbling(冒泡)模式。如无特殊要求,一般是false。
addEventListener不会覆盖。先弹出1在弹出2
btn.addEventListener("click",function(){
alert(1);
},false);
btn.addEventListener("click",function(){
alert(2);
},false);
c:element.attachEvent(type,listener); type事件名称,注意加上事件前边的“on”,比如“onclick”和“onmouseover” IE8.0及其以下版本支持该方法
下面会先后弹出2和1
btn.attachEvent("onclick",function(){
alert(1);
});
btn.attachEvent("onclick",function(){
alert(2);
});
jq和js中click 事件的几种方式总结和click事件的累加问题解决办法的更多相关文章
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- JavaScript学习12 JS中定义对象的几种方式【转】
avaScript学习12 JS中定义对象的几种方式 转自: http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...
- js中声明Number的五种方式
转载自:http://www.jb51.net/article/34191.htm <!DOCTYPE html> <html> <head> <meta c ...
- js中面向对象(创建对象的几种方式)
1.面向对象编程(OOP)的特点: 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有的对象下继承出新的对象 多态:多对象的不同形态 一.创建对象的几种方式 javascript 创建对象 ...
- js中实现继承的几种方式
首先我们了解,js中的继承是主要是由原型链实现的.那么什么是原型链呢? 由于每个实例中都有一个指向原型对象的指针,如果一个对象的原型对象,是另一个构造函数的实例,这个对象的原型对象就会指向另一个对象的 ...
- js中检测数据类型的几种方式
1.typeof 一元运算符,用来检测数据类型.只可以检测number,string,boolean,object,function,undefined. 对于基本数据类型是没有问题的,但是遇到引用数 ...
- JS中访问对象的两种方式区别
可以使用下面两种方式访问对象的属性和方法 1.对象名.属性名 对象名.方法名() 2.对象名["属性名"] 对象名["方法名"]() var obj = { n ...
- js中定义变量的三种方式const,val,let 的区别
js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始 ...
- JS中检测数据类型的几种方式及优缺点【转】
1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string&quo ...
随机推荐
- 【Android】实验7 BindService模拟通信 截止提交日期2016.5.3
实验7 BindService模拟通信 [目的] 实现启动端和BindService之间的双向通信 [要求] 1) 实现从启动端传递一个数据至BindService端: 2) 实现使用Bind ...
- gulp入门1
1. 下载.安装git(https://git-scm.com/downloads),学会使用命令行. 2. 下载.安装node.js(https://nodejs.org/en/),现在node.j ...
- update-database -script
update-database -script 更新脚本生成失败? 项目选择的不对 update后面-database空格-script
- role management
role management https://panjiachen.github.io/vue-element-admin/#/permission/page
- Scala 基础(4)—— 类和对象
1. 类.字段和方法 Scala 用 class 关键字定义类,一旦定义好一个类,就可以使用 new 关键字创建对象. Scala 使用 new 调用无参构造器时,可以不使用 (),推荐不使用括号: ...
- ES6 学习体会
第一部分: 1.初始化项目 npm init -y 2.安装ES6 环境 .babelrc 文件 babel-cli -g babel-ecmascript2015 babel-cli --save- ...
- 如何修改root密码
默认情况下,每次登录ubuntu都会生成一个随机的root密码,如果想要修改, sudo passwd 然后输入密码,这个密码就作为root用户的密码
- Spring 对属性文件的加密与解密
一般用于配置密码等敏感信息 解密/加密工具类 package com.baobaotao.placeholder; import sun.misc.BASE64Decoder; import sun. ...
- jQuery的slicebox插件实现3D翻转轮播效果
最近做项目,banner要实现立体的翻转效果,通过搜索,发现了jQuery的一款插件,能够很好的实现该效果,这里就记录一下. 效果图如下: 使用方法: 1. 在html中引入必要的js和css文件: ...
- BZOJ2763 [JLOI2011]飞行路线 【分层图 + 最短路】
题目 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格 ...