jquery选择iframe儿童

Val*_*Val 46 javascript jquery

我正在使用editArea库和jquery来做我需要的...

http://www.cdolivet.com/index.php?page=editArea&sess=2b8243f679e0d472397bfa959e1d3841

所以在我的HTML中有一个iframe标签,editArea使用我需要的东西来使用jquery访问类似的东西

$('iframe textarea').keydown(function (e){
   number = 17; //any number really :)
    if(e.which == number){
        //do something...
        alert('Done...');
    }
});
Run Code Online (Sandbox Code Playgroud)

我尝试了以上但看起来它没有检测到该密钥.但是如果选择器是$(文档)它可以工作,因此函数的其余部分工作它只是它没有拿起iframes textarea keydown

有任何想法吗?谢谢

jAn*_*ndy 67

$("iframe").contents().find("textarea").keydown(...)
Run Code Online (Sandbox Code Playgroud)

  • 应注意.contents()仅在您位于同一域时才有效 (11认同)
  • 如果一个人不在同一个域名怎么办?是否仍然可以至少使用在该iframe中单击的元素来触发父窗口中的某些内容? (3认同)

CMS*_*CMS 9

您需要在documentiframe 内部进行搜索,以获取textarea元素:

var textarea = $('textarea', $('iframe').get(0).contentWindow.document);
textarea.keydown(function (e){
   var number = 17;
   var code = (e.keyCode ? e.keyCode : e.which);

    if(code == number){
        //do something...
        alert('Done...');
    }
});
Run Code Online (Sandbox Code Playgroud)