2012-04-03 59 views
12

我已經通過使用data()而不是attr()解決了這個問題,但我仍然想知道這是否僅僅是我,以及是什麼導致它:TinyMCE和jQuery - 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的網頁上的文本域的一些時,輸出「對象」,當然,ATTR()停止返回一個預期的值。我通過激活TinyMCE:

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

有沒有其他人與TinyMCE一起體驗過這種行爲?有沒有已知的錯誤或解決方法?爲什麼TinyMCE顯然會影響頁面上無關的HTML元素?

+0

我強烈建議人們不要使用tinymce-jquery版本,因爲它在處理按鍵時相當麻煩。除此之外,這可能是其他錯誤... – Thariama 2012-04-03 15:49:37

回答

9

我有同樣的問題。它是由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(); 
}); 

希望這可以幫助

+1

更新TinyMCE到最新版本,問題消失。 – 2012-09-26 02:09:41

1

jquery 1.7.2和tinymce 3.5b3似乎工作 好。

0

當我遇到同樣的問題時,我更新了TinyMCE編輯器(jQuery包)到3.5.11版本和 attr()方法的行爲變得正常。主要問題是要知道這是TinyMCE和jQuery attr()方法之間的衝突。我一次都不理解這個。

建議只是更新編輯器。