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 № 1Você 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/