gpt4 book ai didi

javascript - 在 Javascript 中替换 innerHTML 后,复选框上的 OnClick 事件在 IE 中不起作用

转载 作者:行者123 更新时间:2023-11-28 08:33:58 24 4
gpt4 key购买 nike

我通过设置 div 内的innerHTML 来创建动态复选框。该复选框有 onclick 事件。该代码在除 IE8 之外的所有浏览器中都可以正常运行。

看起来IE在设置innerHTML后没有绑定(bind)事件。有没有办法重新绑定(bind)事件?

下面是innerHTML代码。

<INPUT id=Animal onclick=\"updateHTML();\" name=Control value=Animal type=checkbox uncheckedValue=\"0\" checkedValue=\"1\">
<INPUT id=Food onclick=\"updateHTML();\" name=Control value=Food type=checkbox uncheckedValue=\"0\" checkedValue=\"1\">

下面是完整的代码

<HTML>
<HEAD>
<SCRIPT>
function updateHTML()
{
alert('updateHTML');
}
function changeEvent()
{
var innerhtml="\r\n<TBODY id=originalDiv><TR>\r\n<TD title=\"\">\r\n<INPUT id=Animal onclick=\"updateHTML();\" name=Control value=Animal type=checkbox uncheckedValue=\"0\" checkedValue=\"1\">Animal\r\n<INPUT id=Food onclick=\"updateHTML();\" name=Control value=Food type=checkbox uncheckedValue=\"0\" checkedValue=\"1\">Food\r\n</TD></TR></TBODY>";
var originalDiv=document.getElementById('originalDiv');
var temp = originalDiv.ownerDocument.createElement('div');
temp.innerHTML = '<table>' + innerhtml + '</table>';
originalDiv.replaceChild(temp.firstChild, originalDiv.firstChild);
}
</SCRIPT>
</HEAD>
<BODY>
<TABLE>
<TBODY id ="originalDiv">
<TR>
<TD vAlign=middle>
<INPUT id=Bird onclick=\"updateHTML();\" name=Control value=Bird type=checkbox uncheckedValue=\"0\" checkedValue=\"1\">Bird
</TD>
</TR>
</TBODY>
<TBODY id="submit">
<TR>
<TD>
<input type=button value="Submit" onclick="changeEvent()">
</TD>
</TR>
</TBODY>
</TABLE>
<BODY>

最佳答案

首先,您应该解决这个问题:

  • 添加文档类型。这对 IE 很重要
  • 在文档末尾添加 html 结束标记
  • 关闭所有输入标签,如下所示:

<input type="checkbox" id="Bird" value="1" />

  • 如果您使用非 html 属性,请使用“data-”前缀:

<input type="checkbox" id="Bird" value="1" data-unckecked-value="0" data-checked-value="1" />

关于javascript - 在 Javascript 中替换 innerHTML 后,复选框上的 OnClick 事件在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21465798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com