我看到“SCRIPT3:未找到会员”。 IE中的错误< 9。查看各个位置(例如,Member not found IE error (IE 6, 7, 8, 9)),它似乎发生在setTimeout
内.hover()
部分。
我按照了中的步骤但仍然遇到了同样的问题。我会很乐意帮助你。
也可能发生在change()
fn。
我已将整个代码放在:http://jsfiddle.net/f4tZQ/
答案 0 :(得分:8)
对于那些不想修改jQuery源的人来说......(为了上帝的爱,不要这样做)
当发射自定义事件时,这发生在< 9中。如果您在事件到达崩溃点之前有权访问该事件,只需沿着原始事件链向下移动并设置最后一个= {};
以下代码适用于您依赖jQuery处理链中某处的事件处理程序返回值(false
)。如果要在此处取消事件,请参阅注释 - 在try / catch块中包含对e.stopPropagation()
的调用
var handleAndFire = function(e) {
var ev = new $.Event('stack.overflow');
//you may have to debug and manually inspect to see how
//deep the originalEvents go
//or you could write your own function to traverse
//depth first and find it automatically, I'm lazy.
e.originalEvent.originalEvent = {}; //fix for ie < 9
ev.originalEvent = e;
$(document).trigger(ev);
}
$(document).click(handleAndFire);
答案 1 :(得分:6)
经过一段时间的搜索,我似乎受到了jQuery bug的影响。在“comment:4”之后,更改了jQuery-1.6.2.js文件,第3172行解决了这个问题。
if (typeof e.cancelBubble !== 'unknown') { e.cancelBubble = true; }
不要问为什么,但它有效......出于某种原因jQuery或IE返回 这里“未知”而不是“未定义”。
获取: