ControlSelect 在 IE11 中不触发

ControlSelect not firing in IE11

OnControlSelect DOM 事件未在 IE11 中触发。

显然这个事件在 IE11 中仍然有效,我的研究没有发现这个事件和 IE11 的已知问题。

我的应用程序允许用户编辑和格式化他们的页面。每当用户选择控件时,我都会使用 OnControlSelect 事件来执行一些应用程序内务处理。

有没有人遇到过这种情况,是否有解决方案、变通方法或替代方法?我试过只使用 OnClick 事件,但要发生所需的行为,这需要用户双击而不是单击控件(用户不能接受此更改-base).

以下示例 HTML 在 IE710 中有效,但在 IE11.

单击任一框 (DIV) 的边框应该会导致 OnControlSelect 触发,显示一个对话框。

<html>
  <body contenteditable="true">
    <div oncontrolselect="alert(1)" style="position:absolute; top:000; left:100; border: 12px solid red;   height:200; width:300;">Thing One</div>
    <p>
    <div oncontrolselect="alert(2)" style="position:absolute; top:100; left:200; border: 12px solid green; height:200; width:300;">Thing Two</div>
  </body>
</html>

进一步的研究没有对这个问题产生任何见解。用最新的补丁更新我的测试系统也没有解决这个问题。 EnterpriseMode 也不是可行的解决方案。

MSDNScribable Editing 列为 Legacy API 但它是不清楚 是否弃用此事件。相反,整个 API 被记录为对 IE 5.5 向上有效。 API 的某些部分显然可以工作,但是 ControlSelectSelectionChange 事件都不能在我使用 IE11 的任何系统上工作。

作为变通方法,我在我的 (C#) 应用程序中添加了条件代码,以挂钩 Mousedown 事件而不是 ControlSelect 当用户选择 IE11 作为应用程序的内部浏览器时。 然后我调整了我的事件处理程序来过滤它的调用,以模拟当 ControlSelect 事件应该触发时出现的条件。

我不认为这是一个通用的解决方案,但它让我摆脱了困境。