2012-04-03 5 views
12

Ich habe dies gelöst mit Daten() anstelle von attr(), aber ich würde immer noch gerne wissen, ob das nur ich bin, und was es verursacht :TinyMCE und jQuery - attr() gibt ein Objekt zurück

Ich benutze jQuery 1.7.1 und TinyMCE 3.5b3 (jQuery-Paket). Keine anderen JS-Bibliotheken.

Dieser Code gibt wie erwartet "stref" und die href des Anker-Tags aus, wenn auf die Verknüpfung geklickt wird.

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

Als ich TinyMCE auf einige Textbereiche auf der Seite zu aktivieren, es gibt „Objekt“ und, natürlich, attr() stoppt einen erwarteten Wert zurückkehrt. Ich aktiviere TinyMCE über:

$ ('textarea.tinymce'). Tinymce (Optionen);

Hat jemand anderes dieses Verhalten mit TinyMCE erlebt? Gibt es einen bekannten Fehler oder Workaround? Warum beeinflusst TinyMCE offensichtlich nicht verwandte HTML-Elemente auf der Seite?

+0

Ich rate dringend, nicht die tinymce-jquery build zu verwenden, weil es ziemlich einfach ist, wenn es um die Handhabung von Tastenanschlägen geht. Außerdem könnte es weitere Fehler geben ... – Thariama

Antwort

9

Ich habe das gleiche Problem. Es wird durch das ynymce-jquery-Paket verursacht, das die Methoden attr und css des jquery-Objekts außer Kraft setzt. Es scheint (leider) die Lösung zu sein, die jquery-Version von tinymce nicht zu verwenden.

Ich habe noch nicht gearbeitet, warum dies kein Problem mit jquery 1.6 war und ein Problem mit 1.7 ist.

Edit:

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

und nun folgend zu replizieren des Verhaltens getan, was ich habe ich dann erforderlich, wenn die jQuery-Plugin:

ich die jQuery-Plugin, wie dies mit

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

Hoffe das hilft

+1

Update TinyMCE auf die neueste Version und das Problem verschwindet. –

1

jquery 1.7.2 und tinymce 3.5b3 scheint zu arbeiten OK.

0

Als ich das gleiche Problem hatte, aktualisierte ich TinyMCE Editor (jQuery-Paket) zu 3.5.11 Version und das Verhalten von attr() Methode wurde normal. Das Hauptproblem war zu wissen, dass es ein Konflikt zwischen TinyMCE und jQuery attr() Methode ist. Ich habe das nicht sofort verstanden.

Der Ratschlag ist nur den Editor aktualisieren.