javascript - 禁用 <td> 上的 onclick 事件仅在单击文本时有效,但在单击 td 中的其他区域时无效(ie10、ie11 问题)

标签 javascript html internet-explorer onclick

我有this下面的 html 代码。

<table border="1" style="width:100%">
 <tr> <th>Col</th></tr>
  <tr><td onclick="alert('1');" disabled="disabled"><label>One<br></label></td></tr>
  <tr><td onclick="alert('2');" disabled="disabled"><label>Two<br></label></td></tr>
  <tr><td onclick="alert('3');" disabled="disabled"><label><br></label></td></tr>
</table>

上面的代码在 Chrome 和 Microsoft Edge 中有效,这意味着它会在所有 3 个 tds 中点击 td 标签内的任何地方时显示警报。
但在 IE10 和 IE11 中,它仅在 td 包含一些数据时才起作用,如上面的代码中,第 3 行不发出警报,对于其他 tds,它仅在我们单击文本时起作用,而不是在单击 td 内除文本以外的任何其他区域时起作用。

这段代码属于我的大型应用程序的一部分。 我只是想知道这是 IE 中的一个已知错误,如果是,那么任何人都可以向我提供该错误的链接。
或者我是否遗漏了导致问题的代码中的某些内容。因为它是大型应用程序的一部分,所以我想添加更少的代码,这样它就不会影响其余的应用程序。

任何帮助将不胜感激

最佳答案

根据文档:https://msdn.microsoft.com/en-us/library/ms533732(v=vs.85).aspx ,

Disabled elements do not respond to mouse events

我在 IE11 中测试了您的代码,它在没有 disabled 属性的情况下也能正常工作。我认为这可能是一个特定于 td 的问题,所以我将 onclick 添加到 div 并且它也可以正常工作,只要有没有 disabled 属性。

Test this on IE11

关于javascript - 禁用 <td> 上的 onclick 事件仅在单击文本时有效,但在单击 td 中的其他区域时无效(ie10、ie11 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44244416/

相关文章:

javascript - 禁用 JavaScript 时,IE 永远不会完成加载 SharePoint 页面

javascript - IE 淡入淡出导致图像出现白点

c# - 如何避免在选择 DropDownList 时刷新页面

javascript - 如何简单初始化一个前十个整数的数组?

html - 如何设置表格每一行的特定列的样式以不显示其边框

html - H1、H2 等在 DL 中有效吗?

html - 伪元素破坏 justify-content : space-between in flexbox layout

internet-explorer - Internet Explorer 开发人员工具中的资源

javascript - jquery attr ('checked' ,'checked' ) 只工作一次

javascript - 如何将 CSS 效果转换为 Javascript/jQuery