2010-12-12 15 views
0

私はw3schoolをチェックし、ondbclickイベントが "base、bdo、br、frame、frameset、head、html、iframe、meta、param、script、style、title以外のすべての要素に有効であることを示しています。 ...iFrameでondblclickイベントを受け入れる方法を教えてください。

iframeがdbclickであるときに本当に何かしたいのですが、どうすればいいですか?ありがとうございました。

W3School参照: http://www.w3schools.com/TAGS/ref_eventattributes.asp

答えて

1

iframeのload-eventを観察して、起動したら、iframe内のドキュメントにondblclickを割り当てることができます。

<iframe src="some.htm" 
     onload="this.contentWindow.document.ondblclick=function(){alert('it work\'s');}"> 
</iframe> 

注:iframeの内部文書が親ウィンドウよりも、別の(サブ)ドメイン上にある場合、これは、同一生成元ポリシーによって制限されます。

0

これは、CSSのトリックを使用して可能である:IFRAMEの上に空のdivを入れて、そのdiv要素のダブルクリックイベントをキャッチ。ここでは、コード必要がある:

<div style="position: relative;"> 
    <div style="position: absolute; left: 0px; top: 0px; width: 500px; height: 300px; z-index: 100;"> 
     <iframe src="myotherpage.html" width="500" height="300"></iframe> 
    </div> 
    <div style="position: absolute; left: 0px; top: 0px; width: 500px; height: 300px; z-index: 999;" ondblclick="alert('frame double clicked');"></div> 
</div> 

本の「心」はDIVが大きな価値を持つと、もちろんそれらの両方に同じ大きさを有するとともに、両方のzインデックスを設定しています。

jQueryを使用すると、余分なdivをページの読み込みに追加し、必要なCSSをオンザフライで適用することで、かなり簡単になります(しかし、簡単です)。

関連する問題