2010-07-08 50 views
8

làm cách nào để ngăn trang html di chuyển khi nhấn các phím mũi tên nếu khung nội tuyến bên trong nó được lấy nét?ngăn di chuyển bằng các phím mũi tên

im gettting lỗi này trong chrome

Khung nội tuyến được tập trung, tôi biết trọng tâm của nó. cha mẹ vẫn cuộn.

+0

Bạn có quyền kiểm soát nội dung trong khung nội tuyến? –

+0

có, và trên cùng một tên miền –

+0

IE 6+, FF3 +, Chrome: tất cả đều thực hiện những gì bạn vừa nói theo mặc định. Tôi nhấp vào iframe và nhấn mũi tên xuống. Khung nội tuyến cuộn trang không. Bạn muốn gì? – galambalazs

Trả lời

12

Các mã sau đây trong tài liệu iframe sẽ ngăn chặn nó từ di chuyển:

document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    var keyCode = evt.keyCode; 
    if (keyCode >= 37 && keyCode <= 40) { 
     return false; 
    } 
}; 
+0

sẽ ngăn khung nội tuyến cuộn, nhưng tôi muốn ngăn trang di chuyển. –

+0

Nhưng nếu iframe được tập trung, làm thế nào các phím mũi tên có thể ảnh hưởng đến tài liệu gốc? –

+0

Đó là vì cách anh ấy tập trung nó không hoạt động như mong muốn. Câu trả lời của tôi cung cấp cho anh ta mã để khắc phục vấn đề đó. –

0

này hoạt động ngoại trừ IE:

window.top.document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    var keyCode = evt.keyCode; 
    if (keyCode >= 37 && keyCode <= 40) { 
     return false; 
    } 
}; 
0

Mã này hiện các trick:

Javascript

<script type="text/javascript"> 
    function focusOnIframe(iFrameID) { 
    if (frames[iFrameID]!=undefined) 
     frames[iFrameID].focus(); // Works in all browser, except Firefox 
    else 
     document.getElementById(iFrameID).focus(); // Works in Firefox 
    } 
</script> 

HTML (ví dụ)

<input type="button" id="setfocus" value="Set focus" onclick="focusOnIframe('myiframe')" /> 

<p>Bla<br />Bla<br />Bla<br />Bla<br />Bla<br /></p> <!-- Just some filler --> 

<iframe id="myiframe" src="yourpage.html"></iframe> 

<p>Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br />Bla<br /></p> <!-- Just some filler --> 

Tôi đã thử nghiệm nó trong Firefox 3.6.6, Sắt 5.0.380, Opera 10.60, IE 6 và IE 8.

+0

bạn hiểu rằng câu hỏi liên quan đến việc cuộn, phải không? không tập trung? –

+0

Vấn đề là tiêu điểm của bạn không hoạt động, đúng không? I E. khi iframe được tập trung và bạn sử dụng các phím mũi tên, nó sẽ cuộn phụ huynh. Đoạn mã trên đặt tiêu điểm và phụ huynh không cuộn. –

+0

không, nó tập trung vào khung –

Các vấn đề liên quan