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时行判断?
因为只有IE会把事件一起复制过去啊……
jQuery的特性检测是以事实的业界已经获知的数据为前提,而不是完全通用性地去检测一个特性,比如noClonetEvent就是已知只在IE中出现的问题,其他的浏览器再升级也不会升出这种BUG来,但高版本的IE可能会修复这个BUG,因此需要检测一下