/ / document y iframe en un solo selector - jquery, iframe, binding, jquery-selectores

documento e iframe en un solo selector: jquery, iframe, binding, jquery-selectores

Actualmente estoy inyectando un iframe y unir un keyevent tanto a la document y el iframe.

¿Puedo seleccionar tanto el iFrame como el documento en una fila?
Note que el iframe debe tener .contents() despues del selector

// 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");
});

});

Respuestas

3 para la respuesta № 1

Puedes usar .add(), Me gusta esto:

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

Esto toma el contenido del iframe y luego solo agrega el document también en el objeto jQuery devuelto, lo que da como resultado que ambos tengan el controlador en su keydown evento.


1 para la respuesta № 2

Qué tal esto:

// 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");
});

});

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