/ / document e iframe em apenas um seletor - jquery, iframe, encadernação, jquery-selectors

documento e iframe em apenas um seletor - jquery, iframe, binding, jquery-selectors

Atualmente estou injetando um iframe e vinculando um keyevent tanto para o document e a iframe.

Posso selecionar o iFrame e o documento em uma linha?
observe o iframe deve ter .contents() depois do seletor

// wait for iframe to load
$("iframe#iframe").load(function() {

// event bind to document
$(document).bind("keydown", function(e) {
console.log("runs document");
});

// event bind to iframe
$(this).contents().bind("keydown", function(e) {
console.log("runs iframe");
});

});

Respostas:

3 para resposta № 1

Você pode usar .add(), como isso:

$(this).contents().add(document).keydown(function(e) {
console.log("runs in both");
});

Isso pega o conteúdo do iframe e apenas adiciona o document no objeto jQuery retornado também, resultando em ambos terem o manipulador para seus keydown evento.


1 para resposta № 2

Que tal agora:

// wait for iframe to load
$("iframe#iframe").load(function() {

// event bind to iframe
$(this).contents().add(document).bind("keydown", function(e) {
console.log("runs iframe and document");
});

});

Vejo http://api.jquery.com/add/