我正在使用“ document.createElement('input')”动态创建按钮输入。该按钮在所有浏览器中均可正常运行,但该功能不会像在所有其他浏览器中一样在IE 8(或IE 7)中触发。我测试了在IE 7和8中被调用的函数的代码,它可以正常工作。有人知道解决此浏览器问题的方法吗?
谢谢你的帮助。

<script type="text/javascript">


function killWindow(){

window.open('', '_self', '');
window.close();

}

document.observe("dom:loaded",function(){
 var forceCloseButton = document.createElement("input");
 forceCloseButton.setAttribute("id","forceClose");
 forceCloseButton.setAttribute("type","image");
 forceCloseButton.setAttribute("src","SurveyResource/Button-Close");
 forceCloseButton.setAttribute("class","button");
 forceCloseButton.setAttribute("onclick","killWindow()");

 var a=$('datstat_bottomcenterbuttons');
a.appendChild(forceCloseButton);
})
</script>

最佳答案

永远不要使用setAttribute设置事件处理程序。

您需要使用addEventListener / attachEvent或直接设置onclick

另外设置class也会遇到问题,请查看className。

09-25 18:33