出于某种原因,IE 不允许我从 HTML 页面调用函数。它在调试器中的函数 addEvent 处显示“未实现”。我很茫然,非常感谢一些帮助。
这是我网页中的代码(位于带有语言选择选项的“select”标签下方)
<script type="text/javascript">
window.onload = addEvent((document.getElementById('eng')), 'click', redirectEng);
window.onload = addEvent((document.getElementById('chs')), 'click', redirectChs);
window.onload = addEvent((document.getElementById('ger')), 'click', redirectGer);
</script>
最佳答案
我猜你真正想要的是这样的:
window.onload = function() {
addEvent((document.getElementById('eng')), 'click', redirectEng);
addEvent((document.getElementById('chs')), 'click', redirectChs);
addEvent((document.getElementById('ger')), 'click', redirectGer);
};
你的代码可能在 FF 下工作,但它仍然是一个非常非常糟糕的代码。你误解了概念。多次分配给 .onload
?无意义。另外 .onload
必须是一个函数。也许 FF 不会抛出错误(与 IE 不同),但我仍然确信您的代码可以在 FF 下工作,根本不需要 window.onload
。
在这种特殊情况下,我不得不说(因为这种情况并不经常发生):这不是 IE 的错。 :-)
编辑
显然 IE 在 window.onload
方面存在一些问题。阅读此主题:
window.onload() is not firing with IE 8 in first shot
了解更多详情。对于跨浏览器兼容性,我建议您查看一些著名的 JavaScript 库,例如 jQuery 。使用 jQuery,任务将非常简单:
$(function(){
$( '#eng' ).click( redirectEng );
$( '#chs' ).click( redirectChs );
$( '#ger' ).click( redirectGet );
});
关于javascript - 在 IE javascript 调试器中获取 window.onload 的 'not implemented',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610951/