浅析js绑定同一个事件依次触发问题系列(一)
算了 还是上代码吧 记得写过这篇文章,但是找不到了(对,就是找不到了,算了再写一遍吧) 也是在群中有人问这个绑定不同事件 或者同一个事件的依次触发问题
个人建议如果是一个事件的话那么最好写成函数, 还有人问 如果我下一个函数 要依赖上一个函数执行是否完毕来执行(就是上一个函数如果执行完毕我才执行下一个函数,如果没有执行完毕 那么就不执行下一个函数)
我的思路是 定义一个变量 设置为false 用判断来写 这里就不写代码了 下一篇写这个代码 提一下 好了 扯淡扯远了 开始上代码
css部分如下
.test{width: 100%; height: 300px; background: red; }
html部分如下
<div id="test">aaaaaaa</div>
js部分
window.onload=function(){
var Test=document.getElementById('test')
Test.addEventListener("click",function(event){
event.preventDefault();
alert(1)
},false);
Test.addEventListener("click",function(event){
alert(2)
},false);
Test.addEventListener("click",function(event){
alert(3)
},false)
}
大家可以测试一下 触发 的顺序是依次进行的也就是 依次 弹出来 1 2 3 完毕。。。
但是这个东西是不兼容的(当然是坑爹的ie) 因为ie有自己的办法
咱们看一下ie是怎么样的(ie----> 与众不同)
window.onload=function(){
var Test=document.getElementById('test1')
Test.attachEvent("onclick",function(event){
alert(1)
},false);
Test.attachEvent("onclick",function(event){
alert(2)
},false);
Test.attachEvent("onclick",function(event){
alert(3)
},false)
}
他弹出来的效果 是 3 2 1 对 就是 这个顺序
那么咱们不能写一个这个东西要写两个吧 一个专门针对ie 啊于是大婶出现了
function addEvent(elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);//DOM2.0
return true;
}
else if (elm.attachEvent) {
var r = elm.attachEvent(‘on‘ + evType, fn);//IE5+
return r;
}
else {
elm['on' + evType] = fn;//DOM 0
}
}
写的有点乱 自己还能看 唉
浅析js绑定同一个事件依次触发问题系列(一)的更多相关文章
- 好强大的页面功能调试(js调试,查找js绑定的事件)值得学习
引自:http://www.poluoluo.com/jzxy/201209/178110_2.html 这篇文章是根据目前 chrome 稳定版(19.0.1084.52 m)写的,因为 googl ...
- (转)js原生自定义事件的触发dispatchEvent
1. 对于标准浏览器,其提供了可供元素触发的方法:element.dispatchEvent(). 不过,在使用该方法之前,我们还需要做其他两件事,及创建和初始化.因此,总结说来就是: 1 2 3 d ...
- 【QT】多个槽函数绑定同一个信号的触发顺序
目录 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 二.Qt 4.6(包含4.6)版本之后 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 「多个槽函 ...
- jquery给label绑定click事件被触发两次解决方案
首先我们看下面的代码片段(label包裹checkbox) <div class="example"><label for="chk_6" c ...
- js(react.js) button click 事件无法触发
今天遇到一个诡异的问题.button 上的点击事件触发不了. 找个几个小时,原因是 js 报错了. <Button type="primary" htmlType=" ...
- JS绑定JavaScript事件
//onblur="onblurs(this)" // function onblurs(e) { // alert(e.value); // }
- 回车键和button按钮都绑定同一个事件,如何避免按回车的时候button重复点击
保存一个全局变量,用来记录Button的焦点状态 <button onclick="login();" onfocus="window.buttonIsFocuse ...
- 页面所有的button绑定同一个事件,点击不同的button赋值不同
<script type="text/javascript"> $(function(){ $("input[type='button']").cl ...
- jQuery为多个元素绑定同一个事件
$('.toals,input[type=datetime]').on('focus',function(){ $('.footer-focus-none').css('display','none' ...
随机推荐
- OVF? OVA? VMDK? – File Formats and Tools for Virtualization
I recently worked on a project to create a “virtual appliance” for one of our customers. They have a ...
- android在Service中弹出Dialog对话框,即全局性对话框
先说具体做法,原因在其后给出: 写好Alter功能块后,在alter.show()语句前加入: alert.getWindow().setType(WindowManager.LayoutParams ...
- Android录制视频报错setVideoSize called in a invalid state 1
录制视频时想获取手机支持的录制视频的分辨率,使用代码如下: List<Camera.Size> videoSize = camera.getParameters().getSupporte ...
- nginx的301与302如何配置
转自:http://blog.sina.com.cn/s/blog_5d73ba76010145rr.html 首先看一个完整代码示例,关于nginx 301 302跳转的. 301跳转设置: ser ...
- Java6 WebService的发布
Java6 WebService的发布 WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服 ...
- 基于Redis的Bloomfilter去重(转载)
转载:http://blog.csdn.net/bone_ace/article/details/53107018 前言 “去重”是日常工作中会经常用到的一项技能,在爬虫领域更是常用,并且规模一般都比 ...
- 一个java调用python的问题
使用 ProcessBuilder List<String> commands = new ArrayList(); commands.add("python"); c ...
- Apache环境下搭建KodExplorer网盘
Apache环境下搭建KodExplorer网盘 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 yum安装httpd和php kodexplorer4.25 1 ...
- Nginx include和Nginx指令的使用
Nginx include和Nginx指令的使用 1.nginx include 主配置文件nginx.conf中指定包含其他扩展配置文件,从而简化nginx主配置文件,实现多个站点功能 [root@ ...
- notepad++ 在每一行最后加上逗号
1.全选缩进对齐 2.替换功能,入下全部替换 3.在入下替换 4.结果 完成!