【问题标题】:TinyMCE and jQuery - attr() is returning an ObjectTinyMCE 和 jQuery - attr() 返回一个对象
【发布时间】:2012-04-17 06:30:17
【问题描述】:

我已经通过使用 data() 而不是 attr() 解决了这个问题,但我仍然想知道这是否只是我的问题,以及是什么原因造成的:

我正在使用 jQuery 1.7.1 和 TinyMCE 3.5b3(jQuery 包)。没有其他 JS 库。

当点击链接时,该代码输出“字符串”和锚标记的href,正如预期的那样。

$('a.page_item_delete').on('click', function(event){
    event.preventDefault();
    var $this = $(this);
    console.log(typeof $this.attr('href'));
    console.log($this.attr('href'));
});

当我在页面上的某些文本区域上激活 TinyMCE 时,它会输出“Object”,当然,attr() 会停止返回预期值。我正在通过以下方式激活 TinyMCE:

$('textarea.tinymce').tinymce(options);

还有其他人在使用 TinyMCE 时遇到过这种情况吗?是否有已知的错误或解决方法?为什么 TinyMCE 明显影响页面上不相关的 HTML 元素?

【问题讨论】:

  • 我强烈建议人们不要使用 tinymce-jquery 构建,因为它在处理击键时非常慢。除此之外,可能还有其他错误...

标签: jquery tinymce attr


【解决方案1】:

我也有同样的问题。它是由覆盖 jquery 对象的 attr 和 css 方法的 tinymce-jquery 包引起的。似乎(可悲)解决方案是不使用 jquery 版本的 tinymce。

我还没有弄清楚为什么这不是 jquery 1.6 的问题,而是 1.7 的问题。

编辑:

我是这样使用 jquery 插件的:

$('.wysiwyg', '#EditForm').tinymce({
    -- SETTING HERE
});

现在我已经完成了以下操作来复制我在使用 jquery 插件时所需的行为:

$('.wysiwyg', '#EditForm').each(function(){
    id = $(this).attr('id');
    var ed = new tinyMCE.Editor(id, {
    -- SETTINS HERE --          
    });
    ed.render();
});

希望对你有帮助

【讨论】:

  • 将 TinyMCE 更新到最新版本,问题就消失了。
【解决方案2】:

jquery 1.7.2 和 tinymce 3.5b3 似乎工作正常。

【讨论】:

    【解决方案3】:

    当我遇到同样的问题时,我将 TinyMCE 编辑器(jQuery 包)更新为 3.5.11 版本并 attr() 方法的行为变得正常。主要问题是要知道这是 TinyMCE 和 jQuery attr() 方法之间的冲突。我一下子没看懂这个。

    建议只是更新编辑器。

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 2016-08-30
      • 2014-01-19
      • 1970-01-01
      • 2011-02-18
      • 2012-06-15
      相关资源
      最近更新 更多