ControlSelect未在IE11中触发

时间:2015-07-24 15:34:31

标签: javascript-events internet-explorer-11 dom-events

IE11 中未触发 OnControlSelect DOM事件。

显然,此事件在 IE11 中仍然有效,我的研究未发现此事件的已知问题以及 IE11

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

有没有人经历过这种情况,是否有解决方案,解决方法或替代方法?我曾尝试仅使用 OnClick 事件,但是为了实现所需的行为,这需要用户双击而不是单击控件(此更改对于用户群来说是不可接受的)

以下示例HTML适用于 IE7 10 ,但不适用于 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>

1 个答案:

答案 0 :(得分:1)

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

MSDN Scribable Editing 列为旧版API ,但如果不推荐此事件,则不清楚。相反,整个API被记录为对IE 5.5以上有效。 API的某些部分显然有效,但 ControlSelect SelectionChange 事件都不适用于我的任何IE11系统。

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

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