首页 新闻 会员 周边 捐助

关于jQuery中的noCloneEvent实现的问题

0
悬赏园豆:30 [已解决问题] 解决于 2010-11-03 12:55

jQuery源码:

if ( div.attachEvent && div.fireEvent ) {
        div.attachEvent("onclick", function click() {
            // Cloning a node shouldn't copy over any
            // bound event handlers (IE does this)
            jQuery.support.noCloneEvent = false;
            div.detachEvent("onclick", click);
        });
        div.cloneNode(true).fireEvent("onclick");
    }

noCloneEvent这个特性检测条件,应该针对所有的浏览器都进行判断,但是这里为什么只针对IE时行判断?

笨蛋的座右铭的主页 笨蛋的座右铭 | 初学一级 | 园豆:140
提问于:2010-11-02 17:01
< >
分享
最佳答案
0

因为只有IE会把事件一起复制过去啊……

jQuery的特性检测是以事实的业界已经获知的数据为前提,而不是完全通用性地去检测一个特性,比如noClonetEvent就是已知只在IE中出现的问题,其他的浏览器再升级也不会升出这种BUG来,但高版本的IE可能会修复这个BUG,因此需要检测一下

收获园豆:30
Gray Zhang | 专家六级 |园豆:17610 | 2010-11-02 18:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册