function f2(){
var oDiv = document.getElementById("d");
oDiv.attachEvent("onclick",fn);
oDiv.attachEvent("onclick",fn2);
}以上代码跑了一下,先执行fn2,在执行fn.但是书上说的是先fn再fn2...
求解释..我看的书是<JavaScript高级程序设计> 人民邮电出版 Zakas 著 第231页
var oDiv = document.getElementById("d");
oDiv.attachEvent("onclick",fn);
oDiv.attachEvent("onclick",fn2);
}以上代码跑了一下,先执行fn2,在执行fn.但是书上说的是先fn再fn2...
求解释..我看的书是<JavaScript高级程序设计> 人民邮电出版 Zakas 著 第231页
一般来说遵循先进先出的概念,Chrome,Firefox 都遵循这个规则。但IE中是没有顺序可言的。
<script>
function a() {
alert("a");
}
function b() {
alert("b");
}
function c() {
alert("c");
}
function d() {
alert("d");
}
function e() {
alert("e");
}
function addEvent(obj, type, fn) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
return true;
} else if (obj.attachEvent) {
return obj.attachEvent("on" + type, fn);
} else {
return false;
}
}
addEvent(window, 'load', a);
addEvent(window, 'load', b);
addEvent(window, 'load', c);
addEvent(window, 'load', d);
addEvent(window, 'load', e);
</script>
var oDiv = document.getElementById("d");
oDiv.onclick = fn;
oDiv.attachEvent("onclick",fn2);
}以上代码跑了下,顺序为先fn,在fn2...3L给个说法
也没必要找它的规律
如果非要在IE里控制其执行顺序,那么用回调解决吧