Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能通过jQuery选择iframe>html>body之类的内容?_Jquery_Wysihtml5 - Fatal编程技术网

为什么我不能通过jQuery选择iframe>html>body之类的内容?

为什么我不能通过jQuery选择iframe>html>body之类的内容?,jquery,wysihtml5,Jquery,Wysihtml5,我正在使用这个插件,向我的文本区域添加一个丰富的编辑器 因此,该插件将此转换为: <textarea></textarea> 根据插件作者的说法: 解决方案是不监听文本区域中的keyup事件,而是 在死者身上 我就是这么做的,我听了iframe>html>body:.wysihtml5编辑器 但现在,我得到了以下错误: 未捕获的TypeError:无法读取未定义的属性“length” 因此,这意味着jQuery部分没有定位主体,因为它确实定位了不在iframe内的元素

我正在使用这个插件,向我的文本区域添加一个丰富的编辑器

因此,该插件将此转换为:

<textarea></textarea>
根据插件作者的说法:

解决方案是不监听文本区域中的keyup事件,而是 在死者身上

我就是这么做的,我听了iframe>html>body:.wysihtml5编辑器

但现在,我得到了以下错误:

未捕获的TypeError:无法读取未定义的属性“length”

因此,这意味着jQuery部分没有定位主体,因为它确实定位了不在iframe内的元素

可能存在什么问题?有哪些可能的解决方案


您可以通过以下方式获取iframe内容:

类似这样的东西对我很有用:

var editor_body = $(".wysihtml5-sandbox").contentWindow.document.body;
$(editor_body).keyup(function() {
  console.log($(this).text());
});

因为这是一个iframe-@约翰,那么,有什么办法可以让这一切顺利吗?我不相信。这是浏览器的安全性。我认为,这就像从iframe中检测到鼠标点击按钮一样。但是,我也对正确的答案感到好奇。让这成为你最喜欢的问题。你不应该使用w3schools.com上的任何东西。参观,你就会明白为什么。
  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);
    });
  });
var editor_body = $(".wysihtml5-sandbox").contentWindow.document.body;
$(editor_body).keyup(function() {
  console.log($(this).text());
});