為iframe添加鼠標事件


1、關於iframe標簽

  使用iframe元素會創建包含另外一個文檔的內聯框架(即行內框架)。所以我們可以使用iframe標簽,在一個頁面嵌入另一個頁面。通過指定iframe的src為另一個頁面的路徑,從而達到這個需求。然而iframe卻不支持有些事件,比如鼠標的mousemove事件。對於這個需求,我們只有通過另外一種方式達到。

2、解決方法

  現在有兩個頁面一個是index.html頁面,另一個是page.html。我們需要在index.html頁面中通過iframe引入page.html。並且需要為iframe的區域 添加鼠標的mousemove事件。

  思路如下:

   a、先將iframe放在一個div(div1)里面,將這個div的index-z值設置成1.

   b、在頁面中再添加一個div(div2),將這個div覆蓋整個頁面,並且為透明,index-z值設置比1大。

  這樣我們只需監聽第二個div的鼠標事件即可,在鼠標事件觸發的函數里面做處理。

  當鼠標事件觸發后,把div2的display設置成block,當函數處理完成之后,又將div2的display設置成none。這樣基本滿足需求。

3、相關代碼

  index.html代碼: 

 1   <html>
 2   <head>
 3    <title>Demo</title>  
 4     <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
 5    <script type="text/javascript" src="script.js"></script> 
 6   </head>
 7     <script type="text/javascript">
 8    var containerdiv;
 9   function div_mousemove(){
10       containerdiv = document.getElementById("container");
11       containerdiv.style.display = "none";
12       alert("onmousemove");
13       containerdiv.style.display = "block";
14   }
15    </script>
16   <body >   
17        <div id="container" onmousemove="div_mousemove();"  style="background:rgba(250,0,0,0);width:100%;height:100%;position:absolute;"></div>
18     <div id="ar"   style="background-color: green;index-z:1" >  
19            <iframe id="showwin"  frameborder="0"  style="background-color: red"  scrolling="no" width="100%" height="100%" ></iframe> 
20    </div>  
21   </body>
22   </html>   

  page.html代碼:

 1 <html>
 2  <head>
 3   <title> New Document </title>
 4   <meta name="Generator" content="EditPlus">
 5   <meta name="Author" content="">
 6   <meta name="Keywords" content="">
 7   <meta name="Description" content="">
 8  </head>
 9  <body>
10     this is iframe area
11  </body>
12 </html>

  同理鼠標的其他事件可以用這種方式來實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM