Я использую плагин wysihtml5, чтобы добавить богатый редактор в мое текстовое поле.Почему я не могу выбрать что-то вроде iframe> html> body через jQuery?
Таким образом, плагин превращает это:
<textarea></textarea>
в этом:
<textarea style="display:none;"></textarea>
<iframe>
<header>
<header>
<body class="wysihtml5-editor">
</body>
</iframe>
Я нашел некоторую информацию here, чтобы добавить счетчик символов:
wysihtml5Textarea.data("wysihtml5").editor.observe("load", function() {
wysihtml5Textarea.data("wysihtml5").editor.composer.element.addEventListener("keyup", function() {
var wysihtml5_cur_length = 0;
wysihtml5_cur_length = $('.wysihtml5-editor').val().length;
alert(wysihtml5_cur_length);
});
});
Согласно автор плагина:
Solution is to not listen on the textarea for keyup events but instead on the 's body
Так вот что я сделал, я слушал IFRAME> HTML> тела: .wysihtml5-editor
Но сейчас, я получаю следующее сообщение об ошибке:
Uncaught TypeError: Cannot read property 'length' of undefined
Так это означает, что Часть jQuery не находит тело по какой-либо причине (он находит элементы, которые не находятся внутри iframe).
В чем может быть проблема и какие возможные решения?
Потому что это 'iframe'. :-) –
@John Итак, есть ли способ сделать эту работу? – alexchenco
Я не верю. Это безопасность браузера. Я думаю, это похоже на обнаружение щелчка мышью на кнопке из 'iframe'. Но мне тоже интересно узнать о правильном ответе. Собираюсь сделать это любимым вопросом. –