Javascript iframe内的停止按键事件
在iframe内的输入上停止回车键,这让我很为难 crossbrowser在同一页面中工作:Javascript iframe内的停止按键事件,javascript,jquery,iframe,Javascript,Jquery,Iframe,在iframe内的输入上停止回车键,这让我很为难 crossbrowser在同一页面中工作: $("#input").keypress(function (event) { console.log(event.which); //works good if (event.which == 13) { return false; } }); 此不会在iFrame内停止/捕获按键事件 $("#my_iframe").contents().keypress(f
$("#input").keypress(function (event) {
console.log(event.which); //works good
if (event.which == 13) {
return false;
}
});
此不会在iFrame内停止/捕获按键事件
$("#my_iframe").contents().keypress(function (event) {
console.log(event.which); // nothing loged
if (event.which == 13) {
return false;
}
});
我错过了什么?是否有交叉浏览器解决方案
在附加事件处理程序之前,您没有等待加载iframe。在附加事件处理程序之前,您没有等待加载iframe。除了Stephen Thomas的答案之外,下面是一篇很好的文章,总结了问题所在: 然而,如果您试图用新代码更新您的小提琴,您很可能会得到一个错误,大致如下:
阻止了具有原点的帧”http://fiddle.jshell.net“从访问具有原点的帧”http://jsfiddle.net". 协议、域和端口必须匹配
似乎JSFIDLE使用两个不同的服务器进行内部工作,这违反了“同源”策略——简言之,您不应该从不同的站点访问IFrame的DOM。我想作为一种安全措施。虽然我不知道你是否真的可以跳过它。干杯除了Stephen Thomas的回答之外,这里有一篇很好的文章总结了问题所在: 然而,如果您试图用新代码更新您的小提琴,您很可能会得到一个错误,大致如下:
阻止了具有原点的帧”http://fiddle.jshell.net“从访问具有原点的帧”http://jsfiddle.net". 协议、域和端口必须匹配
似乎JSFIDLE使用两个不同的服务器进行内部工作,这违反了“同源”策略——简言之,您不应该从不同的站点访问IFrame的DOM。我想作为一种安全措施。虽然我不知道你是否真的可以跳过它。干杯。。。对。谢谢你给我额外的脑力来理解:)好吧,我明白了,我花了太长时间。斯蒂芬是对的。但你的小提琴也受到跨域安全的影响。这是完整有效的解决方案。@mco,也谢谢您的检查。下次我也会更快地考虑这个解决方案:)我编辑了我的提琴,以消除跨域问题。嗯。。。对。谢谢你给我额外的脑力来理解:)好吧,我明白了,我花了太长时间。斯蒂芬是对的。但你的小提琴也受到跨域安全的影响。这是完整有效的解决方案。@mco,也谢谢您的检查。下次我还会更快地考虑这个解决方案:)我编辑了我的提琴以消除跨域问题。谢谢你也检查这个。我编辑了我的小提琴,这样就没有跨领域的问题了。
http://
是与此相关的问题,谢谢您检查此问题。我编辑了我的小提琴,这样就没有跨领域的问题了。http://是与此相关的问题