我想将一个keydown事件处理程序分配给iframe。类似纯JS的东西:
document.getElementById('iframe_id').contentWindow.addEventListener('keydown',funcName, true);
我试过了:
$(document.getElementById('iframe_id').contentWindow).keydown( function() {
// my func
});
但它不起作用..请帮忙!
答案 0 :(得分:15)
contentWindow
是iframe
的{{1}}对象。您想要window
的{{1}}代替:
iframe
请注意,我不确定jQuery如何对来自其他窗口/框架的元素做出反应。
答案 1 :(得分:4)
需要注意的是:如果iframe内容是跨域的,那么根据我的理解,这将无法运行。您最终会遇到权限错误:http://...权限被拒绝从http://...获取属性HTMLDocument.nodeType。浏览器将父子dom权限限制为同一域。
答案 2 :(得分:0)
$ function取代了对document.getElementById
的需求$('iframe_id').contentDocument.keydown(function() {
// logic
});
答案 3 :(得分:0)
这对我有用:
$('#iframe_id').contents().keydown(function() {
// my func
});