为了账号安全,请及时绑定邮箱和手机立即绑定

为什么用setAttribute设置的onclick属性无法在IE中工作?

为什么用setAttribute设置的onclick属性无法在IE中工作?

温温酱 2019-11-14 14:13:25
今天就遇到这个问题,以防其他人遇到同样的问题。var execBtn = document.createElement('input');execBtn.setAttribute("type", "button");execBtn.setAttribute("id", "execBtn");execBtn.setAttribute("value", "Execute");execBtn.setAttribute("onclick", "runCommand();");原来要让IE在动态生成的元素上运行onclick,我们不能使用setAttribute。相反,我们需要使用包装要运行的代码的匿名函数在对象上设置onclick属性。execBtn.onclick = function() { runCommand() };错误提示:你可以做execBtn.setAttribute("onclick", function() { runCommand() });但根据@scunliffe,它将以非标准模式在IE中中断。你根本做不到execBtn.setAttribute("onclick", runCommand() ); 因为它会立即执行,并将runCommand()的结果设置为onClick属性值,所以您也无法执行execBtn.setAttribute("onclick", runCommand);
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 547 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号