2011-08-11 10 views
0

は私が私がたびに実行される機能を結合した
のiframeを持っているメインページを持って発射を停止しますユーザーがメインページIFR内のボタンをクリックするとメインページは、フォーカス(つまり 、ユーザーの後にも別のタブやウィンドウを開いて、再度ページに来ます)フォーカスイベントは

を取得しますAMEが開き、そののiframeは動作を停止しメインページの後、焦点イベント、ポストバックまたはリロードある場合。次のコードで

、IはIFRAMEの内容がリロードされるたびメインページのウィンドウフォーカスイベントを再結合することによって、代替ソリューションを試みました。しかし、それでも、フォーカスイベントメインページのウィンドウに再度バインドすることはできません。

誰かがお手伝いできますか?

$(document).ready(function() { 
      $(window).focus(function() { 
       CheckChange(); 
      }); 
      $("iframe").load(function() { 
       alert('1'); 
       alert(top.window); 
       $(top.window).focus(function() { 
        alert('2'); 
        CheckChange(); 
       }); 
      }); 
     }); 

答えて

0

私はメインページではiframeを開き、ブラウザのタブを切り替える後、フォーカスを取得した項目は、IFRAMEそのものであり、なぜその親ウィンドウがフォーカスを取得したことがない、それはだ、その答えを得ましたフォーカスイベントは呼び出されません。呼び出されるのはiframeのフォーカスイベントです。これはiframeにアタッチするのが非常に難しかったですが、最終的にjqueryでフォーカスイベントハンドラがiframeにアタッチされていないことがわかりました。 iframe要素が"onfocus=eventHandler"属性を明示的に指定し、iframeがブラウザタブを切り替える際にフォーカスを取得し始めました。

関連する問題