jquery seleziona i bambini iframe

Sto usando la libreria editArea e jquery per fare ciò che mi serve …

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

quindi nel mio html c’è un tag iframe che editArea usa quello di cui ho bisogno per accedere a qualcosa del genere con jquery

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

Ho provato quanto sopra ma sembra che non stia rilevando quella chiave. ma funziona se il selettore è $ (documento) quindi il resto della funzione funziona è solo che non sta raccogliendo il keydown iframe textarea

qualche idea? Grazie

 $("iframe").contents().find("textarea").keydown(...) 

Hai bisogno di cercare all’interno del document interno dell’iframe, per ottenere l’elemento 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...'); } }); 

Puoi viaggiare in qualsiasi livello, le risposte sopra sono corrette. Ho fatto come sotto

 var iframeMain = $("#iframe0").contents().find('#iframeMain'); var detailsForm = $(iframeMain).contents().find('#detailsform'); 

per l’accesso ai genitori che puoi usare

 window.parent.parent. // upto any level 

È necessario accedere agli iframe contentWindow.document , non contentWindow.document stesso.

Dovresti fare

iframeDoc = document.getElementById('resultsFrame').contentWindow; // result frame is id of iframe $(iframeDoc).keydown(function(e)) { // your functionality here }
iframeDoc = document.getElementById('resultsFrame').contentWindow; // result frame is id of iframe $(iframeDoc).keydown(function(e)) { // your functionality here } 

Se tutto il resto fallisce, ho finito per ottenere il sopra per lavorare avvolgendo questa funzione:

 $(window).blur(function () { // genius code here } 

Sotto il codice mi ha aiutato.

 $(document).ready(function(){ var iFrameDOM = $("iframe#frameID").contents(); iFrameDOM.find(".page").css("background-color", "#fff"); 

});