【发布时间】:2009-09-23 15:49:08
【问题描述】:
在这段代码中,Firefox 将“this”视为被点击的元素,并通过正确的方式传递 href 属性。
IE 似乎认为 'this' 是 [object window] 而不是。我怎样才能让它在两个浏览器中以相同的方式工作?
注意:jQuery 会很可爱,但不是这个项目的选择
var printElem = getElementsByClassName('print', 'a');
for(i in printElem){
ObserveEvent(printElem[i], 'click', function(e){
window.open(this.href, '', 'location=0,menubar=1,resizable=1,scrollbars=1,width='+810+',height='+700);
cancelEvent(e);
});
}
【问题讨论】:
-
这段代码存在于事件处理程序中?
-
你的
ObserveEvent函数是什么? -
如果是这样,它必须是 this 引用的元素(这可能与触发事件的元素不同,因为大多数事件都是冒泡的——非常方便的区别)。
-
嗯...不确定它是从哪个版本提取的,但它可能在发生时被破坏了。
标签: javascript internet-explorer javascript-events