我已经通过使用 data() 而不是 attr() 解决了这个问题,但我仍然想知道这是否只是我的问题,以及是什么原因造成的:
我正在使用 jQuery 1.7.1 和 TinyMCE 3.5b3(jQuery 包)。没有其他 JS 库。
当单击链接时,此代码会按预期输出“字符串”和 anchor 标记的 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 对象的 attr 和 css 方法引起的。看来(遗憾的是)解决方案是不使用 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();
});
希望这有帮助
关于jquery - TinyMCE 和 jQuery - attr() 返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996041/