Chrome不会触发内容可编辑iframe中的文档焦点和模糊事件

我正在重点关注iframe内容。 它适用于FF,但focusblur事件不会在Google Chrome中触发!

 var iframe = $('#iframe').get(0); iframe.onload = function(){ iframeDoc = $(iframe.contentWindow.document); iframeDoc.focus(function(){ alert('focused'); }).blur(function(){alert('blur'); alert('blured'); }); } 

然而,像keyupkeypress这样的其他事件正在发挥作用。 你知道问题是什么以及如何处理它?

在Chrome中,iFrame文档没有焦点或模糊事件,窗口会执行以下操作:

 var iframe = document.getElementById('iframe'); var iWindow = iframe.contentWindow; iWindow.onfocus = function(){ console.log('focused'); } iWindow.onblur = function(){ console.log('blured'); } 

小提琴

根据http://api.jquery.com/focus/ , focus只能用于某些元素(主要是表单元素)。 您可能需要考虑从body标签上的iframe中捕获click事件,以确定用户是否正在与之进行交互。