【发布时间】:2009-07-29 09:37:46
【问题描述】:
如何在 iframe 上获取 keydown 事件?
【问题讨论】:
-
这个答案对我很有效:stackoverflow.com/questions/26324213/…
标签: jquery
如何在 iframe 上获取 keydown 事件?
【问题讨论】:
标签: jquery
您需要通过 ContentWindow 对象访问 iframe 的文档
$(document.getElementById('IFrameId').contentWindow.document).keydown(function(){ alert('Key down!'); });
确保在框架加载后绑定事件。
【讨论】:
Adding event handler to an iframe using JQuery
$(document.getElementById('iframe_id').contentWindow.document).keydown(function() {
// my func
});
【讨论】:
$("#iframe_id").get(0).contentWindow.document 等价于$(document.getElementById('iframe_id').contentWindow.document)
现在回答太晚了,但也许对某人有用。
我有同样的问题,这意味着我在 same domain 中有一个 iframe inside a HTML 页面。
现在我需要得到Esc keyup event。
但是我不想(或者有时我不能)在 iframe 正文中编写任何脚本。
为此,我使用下面的脚本来检测通过单击它选择的元素的父 ID 是什么。
$(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'));
}
});
这段代码解决了我的问题。
希望有用。
【讨论】: