在 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>
答案 0 :(得分:1)
进一步的研究并没有对这个问题有任何见解。使用最新补丁更新我的测试系统也没有解决问题。 EnterpriseMode 也不是一个可行的解决方案。
MSDN 将 Scribable Editing 列为旧版API ,但如果不推荐此事件,则不清楚。相反,整个API被记录为对IE 5.5以上有效。 API的某些部分显然有效,但 ControlSelect 和 SelectionChange 事件都不适用于我的任何IE11系统。
作为解决方法,我已将条件代码添加到我的(C#)应用程序,以便在用户选择IE11时挂钩 Mousedown 事件而不是 ControlSelect 应用程序的内部浏览器。 然后我调整了我的事件处理程序来过滤其调用,以模仿 ControlSelect 事件应该触发时出现的条件。
我不认为这是一个通用的解决方案,但它让我摆脱了困难。