Làm cách nào để có thể nhận sự kiện keydown trên khung nội tuyến?sự kiện phím tắt trên iframe
Trả lời
Adding event handler to an iframe using JQuery
$(document.getElementById('iframe_id').contentWindow.document).keydown(function() {
// my func
});
'$ (" # iframe_id ") .get (0) .contentWindow.document' tương đương với' $ (document.getElementById ('iframe_id'). contentWindow.document) ' – BrunoLM
Bạn cần truy cập vào tài liệu của iframe đó là thông qua các đối tượng ContentWindow
$(document.getElementById('IFrameId').contentWindow.document).keydown(function(){ alert('Key down!'); });
Hãy chắc chắn rằng bạn kết sự kiện sau khung đã nạp.
Ngoài ra, hãy chắc chắn rằng bạn ràng buộc sự kiện SAU khung đã tải, nếu không nó sẽ không cháy. – claviska
@Aksival Tất nhiên, đã được bộ não của tôi tự hỏi tại sao điều này không làm việc cho lứa tuổi bây giờ. – Ally
@RedHouse Tôi đã cập nhật câu trả lời để làm rõ điểm đó (Tôi nghĩ rằng nhận xét của Aksival sẽ rõ ràng cho mọi người xem) – James
Rất muộn để trả lời nhưng có thể hữu ích cho ai đó.
Tôi đã gặp sự cố tương tự, điều đó có nghĩa là tôi đã ở trang iframe inside a HTML
trong một số same domain
.
Bây giờ tôi cần lấy số Esc keyup event
.
tuy nhiên tôi không muốn (hoặc một số lần tôi không thể) viết bất kỳ tập lệnh nào bên trong phần khung nội tuyến.
để làm điều đó, tôi sử dụng tập lệnh bên dưới để phát hiện id mẹ của phần tử được chọn bằng cách nhấp vào nó là gì.
$(window).load(function() {
jQuery(jQuery('[id="frame"]')[0].contentWindow.document).on('keyup', function (e) {
var _currntItem = ($(e.target))
if (e.keyCode === 27) {
alert(_currntItem.parent().attr('id'));
}
});
Mã này giải quyết được sự cố của tôi.
hy vọng hữu ích.
- 1. sự kiện phím tắt giá trị mới
- 2. jQuery iframe load() sự kiện?
- 3. Trình kích hoạt jQuery() và stopPropagation() trên sự kiện phím tắt
- 4. Sự cố Phím tắt JNLP
- 5. Dừng sự kiện nhấn phím
- 6. Tắt JavaScript trong iframe/div
- 7. Bàn phím xử lý Đã nhấn sự kiện trên Iphone
- 8. Nhận nhân vật chính xác trên sự kiện bàn phím
- 9. Kích hoạt sự kiện bàn phím trên Chrome
- 10. Tắt sự kiện thay đổi kích thước trên sự kiện lịch tùy chỉnh, có thể không?
- 11. Tắt các sự kiện chạm trên WebView trong Android
- 12. Sự kiện hoặc thuộc tính Tắt màn hình trên iPhone
- 13. Sự kiện iOS khi bàn phím giấu
- 14. Typeahead.js, scrollbar và bàn phím sự kiện
- 15. Phím tắt trong iOS?
- 16. android.widget.Switch - bật/tắt trình nghe sự kiện?
- 17. $ (cửa sổ) .blue sự kiện ảnh hưởng đến Iframe
- 18. Cách thêm sự kiện nhấp vào iframe với JQuery
- 19. Sự kiện tắt máy trong Android
- 20. jQuery: cách lọc ra các phím không phải ký tự trên sự kiện nhấn phím?
- 21. Thêm trình xử lý sự kiện nhấp vào iframe
- 22. Tắt bàn phím ảo trên NumberPicker
- 23. addEventListener cho phím tắt trên Canvas
- 24. Sự kiện nhấn phím tab trong JavaScript?
- 25. Sự kiện kết hợp nhiều phím Qt
- 26. Phím kích hoạt Jquery. Sự kiện mã
- 27. Gửi sự kiện chuột và bàn phím
- 28. Tắt phím Space cho WebBrowser
- 29. phím tắt có điều kiện trong LinqToSql truy vấn
- 30. javascript: nghe các sự kiện postMessage từ iframe cụ thể
Câu trả lời này phù hợp với tôi: http://stackoverflow.com/questions/26324213/listen-for-mouse-click-and-keypress-events-within-iframe/39617876#39617876 –