Добавить событие в тело iframe - PullRequest
0 голосов
/ 05 марта 2010

Я устанавливаю собственный сделанный плагин wysiwyg для jQuery.Он почти закончил, но знаю, что я хочу добавить событие keyup в iframe с включенным designmode.Но я не могу заставить это работать.Я попробовал почти все, что можно найти в Интернете.Класс iframe wysiwyg с designmode - .dhwysiwyg.Хотя следующий код будет работать:

$(function () {
$('.dhwysiwyg', container).keyup(function () {
// the script
});
});

Но это не сработает.Событие keyup не существует.

Может ли кто-нибудь мне помочь?

Том

Ответы [ 4 ]

2 голосов
/ 05 марта 2010

Загружает ли страница в вашем iframe свою собственную копию jQuery? Если это так, попробуйте сделать это на своей внешней странице (страница со встроенным фреймом, а не страница в фрейме):

$(function() {
  var frameWindow = $('.dhwysiwyg').get(0).contentWindow;
  frameWindow.$('body').keyup(function() {
    // handler
  });
});
0 голосов
/ 11 апреля 2013

у меня этот метод работает

$(function() {
      var frameWindow = $('.dhwysiwyg').get(0).contentWindow;
      $(frameWindow.document).delegate("body",'keyup',function() {
      var bodycontent=$(frameWindow.document.body).text();
    });
});
0 голосов
/ 05 марта 2010

Я никогда не слышал об этой вещи в «режиме разработки» (только contentEditable), но ваша проблема может быть ограничением безопасности. Что такое содержимое iframe и находятся ли они в одном домене?

0 голосов
/ 05 марта 2010

Я не уверен в деталях вашего примера, но я знаю, что передача событий в iFrame иногда нарушает политику безопасности вашего браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...