我的情况要复杂得多,但我能够把它简化为更简单的。
以下是fiddle
它是这样的:
<div class="outer" tabindex="0">
outer div, there are many child elements herehere
<div class="inner" tabindex="1">
at some point, one of those many child has this inner div, it has also multiple child elements showing values. This is the text to copy </div>
</div>
我有一个div容器,在示例中说是具有外部类的容器。 它有许多子元素,其中一个是另一个div,比如内部类,也有很多子元素。
我想要实现的是能够使用 Ctrl + C 进行复制,同时将焦点放在外部div或其任何子节点中。
我尝试在外部div中使用复制事件
jQuery('.outer').on('copy', function() {
// my logic here to access data inside div and copies to clipboard
});
当我按下 Ctrl + C 时,让事件从任何孩子聚焦起来,所以我只注册了一个事件,并且一个地方可以执行我的事件逻辑。
即使它在Chrome和Firefox中运行良好,我也有一些与IE11有关的问题。
在我的计算机中,我已安装IE 11.0.9600.17843
似乎工作得很好(事件不时会触发)
但是在另一台Windows 8.1和IE 11.0.9600.18698
的计算机中,如果我专注于外部div,则会触发,但如果我专注于后代div(例如内部),它就无效。
我已经检查过IE配置为允许在安全部分以编程方式访问剪贴板。
据我所知,根据msdn,复制事件不会在IE中冒泡(而在FF中则是Chrome)。 那是问题吗?我该如何解决?
小提琴应该在FF和Chrome中正常工作,但在IE 11中它不应该(至少它不适用于上面提到的版本)。我添加了一些CSS,这样你就可以知道哪个div专注于测试问题。
谢谢,