2017-03-06 21 views
0

我想讓它如此,以便如果用戶按下例如'x',我的iframe窗口就會打開。如果他們再次按x,它會關閉。如果用戶按下某個鍵,我該如何打開一個iframe?

當前代碼:

<div id="mydiv"> 
    <iframe name ="frame" src="" width="25%" height="300"></iframe> 
</div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script>$(document).ready(function() { 
$(document).keypress(function(e) { 
    var keycode = e.which; 
    if (e.which == 192) { 
     var src = $("#frame").attr("src"); 
     if(!src.trim()) { 
     $("#frame").attr("src","http://deadsimplechat.com/+f8ckA/"); 
     } 
     else { 
     $("#frame").attr("src",""); 
     } 
    } 
}); 
});</script> 

回答

0
function checkKey(e) { 
    e = e || window.event; 
    if(e.keyCode == 88) { // x pressed 
     if(myWindow) { 
      myWindow.close(); 
      myWindow = undefined; 
     } else { 
      myWindow = window.open("", "", "width=200,height=100"); 
     } 
    } 
} 

var myWindow; 

document.onkeydown = checkKey; 

使用這樣的事情。

+0

它在我打開它時起作用,但是當我再次按下關閉它時,什麼也沒有發生。但是,當我再次按下該鍵時(第一次嘗試關閉它時),該iframe窗口刷新。 – abc12333333

+0

您必須關注主窗口,然後再次按X鍵。您的主窗口正在偵聽'X',而不是子窗口 – mehulmpt

0
$(document).ready(function() { 
$(document).keypress(function(e) { 
    var keycode = e.which; 
    if (e.which == 49) { 
     var src = $("#frame").attr("src"); 
     if(!src.trim()) { 
     $("#frame").attr("src","https://www.example.com/"); 
     } 
     else { 
     $("#frame").attr("src",""); 
     } 
    } 
}); 
}); 

您可以編輯鍵碼by finding the proper keycode。 我假設你在你的代碼中會有這樣的iframe,或者你可以使用create iframe from jquery。你也可以remove the ifram from jquery。還要編輯示例源URL到適當的站點。

<div id="mydiv"> 
    <iframe id="frame" src="" width="100%" height="300"></iframe> 
</div> 

你必須包括圖書館,每當使用jQuery的。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

編輯 這必須正常工作。

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script> 
     $(document).ready(function() { 
     $(document).keypress(function(e) { 
      var keycode = e.which; 
      if (e.which == 49) { 
       var src = $("#frame").attr("src"); 
       if(!src.trim()) { 
       $("#frame").attr("src","https://www.w3schools.com/"); 
       } 
       else { 
       $("#frame").attr("src",""); 
       } 
      } 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
     <div id="mydiv"> 
      <iframe id="frame" src="" width="100%" height="300"></iframe> 
     </div> 
     <input type="text"> 
    </body> 
</html> 
+0

您應該注意,您的答案需要使用jQuery庫,這在您的答案的任何地方都沒有提及。 –

+0

根本不工作,不知道爲什麼。 – abc12333333

+0

控制檯中沒有錯誤。使用代碼編輯原始帖子。 – abc12333333

相關問題