myvicy兄弟,那篇文章好象有些不对呀
好象不是后注册的先执行,我把这个帖上来,你们看看执行顺序和我的一样不?
我的是5,7,9,11,10,8,6,4,2,3,1
看看客户端不同,执行结果有没有不同
<input name="haha">
<script>
var obj=document.getElementById("haha")
obj.attachEvent("onclick",function(){alert("haha1")})
obj.attachEvent("onclick",function(){alert("haha2")})
obj.attachEvent("onclick",function(){alert("haha3")})
obj.attachEvent("onclick",function(){alert("haha4")})
obj.attachEvent("onclick",function(){alert("haha5")})
obj.attachEvent("onclick",function(){alert("haha6")})
obj.attachEvent("onclick",function(){alert("haha7")})
obj.attachEvent("onclick",function(){alert("haha8")})
obj.attachEvent("onclick",function(){alert("haha9")})
obj.attachEvent("onclick",function(){alert("haha10")})
obj.attachEvent("onclick",function(){alert("haha11")})
</script>

解决方案 »

  1.   

    楼上那个不是我想要的。
    我想要的,是对同一个对象的同一事件attachEvent多次,对IE的事件冒泡我是理解的。
      

  2.   

    TO:hbhbhbhbhb1021(天外水火(我要多努力)) 
    跟你结果一样
      

  3.   

    看手册写的是随机执行。
    原文:
    When event fires on the object, the object's event handler is called before pDisp, the specified function. If you attach multiple functions to the same event on the same object, the functions are called in random order, immediately after the object's event handler is called.
      

  4.   

    那就是说和客户端没关系,但是为什么把上面的11去掉和Amwpfiqvy兄弟的10个事件的顺序不一致,晕了。
      

  5.   

    TO:hbhbhbhbhb1021(天外水火(我要多努力)) 
    也不是那样,我那是以前测的,最后我用过25个,数据记不清了。
    我只是随便举例的,对于4个的时候,倒真有变过,后面的有没有变我就没测了,因为实在太没规律了,应该是我记错了吧。
      

  6.   

    手册是虽说随机,但是像上面这种,多次运行并不会改变调用顺序,看起来好像也就不是完全随机的了。而且有一点,最先attach的必定是最后调用。
    4次的时候,我试过小改一点方法内容,大概就是加一个回车 空格之类的,调用顺序就有变过。
      

  7.   

    attach个三五次那都是好正常的事,20多次是有点多,可就那三五次以内它都给我来个不确定,就是因为这个我才受不了的。
      

  8.   

    http://www.quirksmode.org/js/events_order.html
    看看这个是否有帮助?
      

  9.   

    TO:myvicy(热心肠的人)
    谢谢,但这里不关事件冒泡的事。
      

  10.   

    理论上是顺序不确定的,所以你最好不要做依赖于顺序的设计,这样也增加了你程序的耦合度。即使你现在发现了有一定的顺序特征,但既然文档中说明是顺序不确定,Microsoft就随时可以将顺序改得更加难以捉摸,那时候你的代码就不好改了。
      

  11.   

    .net里面的随机数也是伪随机数
      

  12.   

    并不是什么随机问题,你可以去研究研究哈希对象,这种对象插入新元素的时候并不是顺序插入的,而是根据计算所得的hash值而定的,但在取用这些对象的时间是按照一定的顺序取的,所以就会出现你这种所谓的乱序问题。我估计DHTML里的这些对象的事件处理函数存放及JS对象都是一个个哈希对象,都是key-value这种键值对的模式。
      

  13.   

    谢谢 cat_hsfz 的建议,你说的这点是我没考虑到的,感觉再次被M$强X!
    梅老大的话也很有道理,但我在未确定之前,还是不敢完全认同.
    结贴了!