jquery多层iframe绑定keyup

问题描述

jquery多层iframe绑定keyup

文件index.htm

 <!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
    <iframe src="iframe.htm" name="index" style="width:400px;height:200px"></iframe>
</body>
</html>

文件iframe.htm

 <!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script style="text/javascript" src="jquery.js"></script>
</head>
<body>
<input type="text" id="text" value="" />
<input type="button" id="button" value="button" />
</body>
<script>
$(parent.document,document).keyup(function(e){
    $('#text').val('p'+e.keyCode);
});

$('#button').click();
</script>
</html>

访问index.htm时,能正常捕捉键盘输入,但是当点击内框架iframe.htm使之获取焦点后,不能继续捕捉键盘输入,再点回父窗口又能正常。这是怎么回事,怎么解决?

解决方案

注意方法的参数:jQuery(expression,[context])

$(parent.document,document).keyup

==>

 $(parent.document).add(document).keyup(function (e) {
        $('#text').val('p' + e.keyCode);
    });
时间: 2024-12-22 22:50:25

jquery多层iframe绑定keyup的相关文章

解析Jquery取得iframe中元素的几种方法

iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下   DOM方法:父窗口操作IFRAME:window.frames["iframeSon"].document IFRAME操作父窗口: window.parent.documentjquery方法:在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(&q

jquery 操作iframe的几种方法

 这篇文章主要是对使用jquery操作iframe的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作   DOM方法: 父窗口操作IFRAME:window.frames["iframeSon"].document IFRAME操作父窗口: window.parent.document   jquery方法: 在父窗口中操作 选中IFRAME中的所有输入框

解析Jquery取得iframe中元素的几种方法_jquery

DOM方法:父窗口操作IFRAME:window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.documentjquery方法:在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(":text");在IFRAME中操作 选中父窗口中的所有输入框:$(window.parent.document).

jquery 操作iframe的几种方法总结_jquery

iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作 DOM方法:父窗口操作IFRAME:window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.document jquery方法:在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(":text&quo

Jquery获取iframe中对象的多种方法总结

DOM方法: 父窗口操作IFRAME:window.frames["iframeSon"].document IFRAME操作父窗口: window.parent.document jquery方法: 在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(":text"); 在IFRAME中操作 选中父窗口中的所有输入框:$(window.parent.docum

浅谈Jquery为元素绑定事件

  jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果.大家看看源码就知道了. Jquery如何为元素绑定事件,小记一下,防止忘记了! ? 1 2 3 4 5 6 7 8 9 10 11 $(this).bind({ click:function(){ window.open(alert('OK')); }, mouseover:function(){ window.open(alert('OK')); }, mouseout

同域jQuery(跨)iframe操作DOM

 本篇文章主要是对同域jQuery(跨)iframe操作DOM进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 frame目前还是比较流行的,许多地方都通过它来实现特殊的情况.比如说传统的上传.select在ie6下.代理.跨域等等.今天呢,简要的记述一下跨iframe的相关操作,主要是用jQuery操作DOM结构方面.   代码如下: <iframe src="a.php" id="aa"></iframe>  <ifr

jquery事件重复绑定的快速解决方法

 本篇文章主要是对jquery事件重复绑定的快速解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 一 $.fn.live 重复绑定   解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件.   代码如下: //先通过die()方法解除,再通过live()绑定 $("#selectAll").die().live("click",function(){ //事件运行代码 })

jQuery判断iframe中元素是否存在的方法

  jQuery判断iframe中元素是否存在的方法比较简单只要判断框架window.frames["iframepage"]指定值是不是存在就可以了,下面整理了一些例子大家可进入参考. 例子  代码如下   if($(window.frames["iframepage"].document).find('.l-grid-row-cell').length > 0){ alert(1); }else{ alert(2); } 以上代码,判断id为iframep