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 № 1Puedes 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/