我们知道js绑定事件用attachEvent和addEventListener;
这两种方式都可以给一个事件绑定多个处理函数,但处理函数是按绑定顺序倒序执行的,而且有添加和删除事件处理函数的方法,就是没有找到获取事件处理函数的方法。
如何控制或修改绑定事件的执行顺序,让后绑定的最后执行,或按特定的顺序执行<script type="text/javascript">
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj["e"+type+fn] = fn;
obj[type+fn] = function(){obj"e"+type+fn;}
obj.attachEvent("on"+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}
window.onload = function(){
var test = document.getElementById("test");addEvent(test,"click",function(){
alert(1);
});
addEvent(test,"click",function(){
alert(2);
});
addEvent(test,"click",function(){
alert(3);
});
addEvent(test,"click",function(){
alert(4);
});
}
</script>
<h1 id="test">javascript事件绑定(点我)</h1>
IE与非IE浏览器在事件绑定的执行顺序相反 有什么办法解决呢
这两种方式都可以给一个事件绑定多个处理函数,但处理函数是按绑定顺序倒序执行的,而且有添加和删除事件处理函数的方法,就是没有找到获取事件处理函数的方法。
如何控制或修改绑定事件的执行顺序,让后绑定的最后执行,或按特定的顺序执行<script type="text/javascript">
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj["e"+type+fn] = fn;
obj[type+fn] = function(){obj"e"+type+fn;}
obj.attachEvent("on"+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}
window.onload = function(){
var test = document.getElementById("test");addEvent(test,"click",function(){
alert(1);
});
addEvent(test,"click",function(){
alert(2);
});
addEvent(test,"click",function(){
alert(3);
});
addEvent(test,"click",function(){
alert(4);
});
}
</script>
<h1 id="test">javascript事件绑定(点我)</h1>
IE与非IE浏览器在事件绑定的执行顺序相反 有什么办法解决呢
解决方案 »
- js根据php生成的js变量a=1表示有某种动作的权限,这样安全吗
- JS定位
- 如何实现 input中日期"-"符号不能修改 只能修改其中的数字????
- 小白请教基本问题
- 图片加载时鼠标为漏斗状,我想让它为默认状
- 怎么不能用JavaScript修改iframe的边框属性的?
- top.RIGHT.List.document.form1.exe.click() 帮忙分析一下
- 如果在iframe或者showModalDialog中出现Session超时,如何返回到首页?
- 要怎么样才能实现点击一个按钮后,等待一段时间后才跳到另一个也面(也就是延时)
- 如何在React脚手架里面引入样式框架
- 关于原生js怎样实现自定义事件的问题
- js写的下拉树形菜单代码有误,求解
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj.attachEvent("on"+type, fn );
} else{
obj.addEventListener( type, fn, false );
}
}
window.onload = function(){
var test = document.getElementById("test");
if( test.attachEvent ){
addEvent(test,"click",function(){
alert(4);
});
addEvent(test,"click",function(){
alert(3);
});
addEvent(test,"click",function(){
alert(2);
});
addEvent(test,"click",function(){
alert(1);
});
}else{
addEvent(test,"click",function(){
alert(1);
});
addEvent(test,"click",function(){
alert(2);
});
addEvent(test,"click",function(){
alert(3);
});
addEvent(test,"click",function(){
alert(4);
});
}
}
</script>
</head>
<body>
<h1 id="test">javascript事件绑定(点我)</h1>
</body>
</html>
改了一下, 至少表面上能达到楼主的要求了, 呵呵。
http://blog.csdn.net/yenange/article/details/7660982<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#test").bind("click.t1",function(){
alert("1");
});
$("#test").bind("click.t2",function(){
alert("2");
});
$("#test").bind("click.t3",function(){
alert("3");
});
$("#test").bind("click.t4",function(){
alert("4");
});
});
</script>
</head>
<body>
<h1 id="test">javascript事件绑定(点我)</h1>
</body>
</html>