Зараз я ввожу ін'єкцію iframe
і прив'язка а keyevent
як до document
і iframe
.
Чи можу я вибрати iFrame і документ в один рядок?
зверніть увагу на iframe повинен бути .contents()
після селектора
// 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");
});
});
Відповіді:
3 для відповіді № 1Ви можете використовувати .add()
, подобається це:
$(this).contents().add(document).keydown(function(e) {
console.log("runs in both");
});
Це бере вміст iframe, а потім просто додає document
на повернутий об'єкт jQuery також, в результаті чого обидва мають обробник до своїх keydown
подія
1 для відповіді № 2
Як про це:
// 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");
});
});
Побачити http://api.jquery.com/add/