出于某种原因,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>
答案 0 :(得分:2)
我猜你真正想要的是这个:
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),但我仍然确信你的代码在没有window.onload
的FF下工作。
在那种特殊情况下我不得不说(因为它不经常发生):这不是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 );
});