TinyMCE и jQuery - attr () возвращает объект - PullRequest
12 голосов
/ 03 апреля 2012

Я решил это, используя data () вместо attr () , но я все же хотел бы знать, что это только я, и что его вызывает:

Я использую jQuery 1.7.1 и TinyMCE 3.5b3 (пакет jQuery).Никаких других библиотек JS.

Этот код выводит «строку» и ссылку на метку привязки, как и ожидалось, при нажатии на ссылку.

$('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-элементы на странице?

Ответы [ 3 ]

9 голосов
/ 13 апреля 2012

У меня такая же проблема. Это вызвано тем, что пакет tinymce-jquery переопределяет методы attr и css объекта jquery. Кажется (к сожалению), что решение состоит в том, чтобы не использовать jquery версию tinymce.

Я еще не выяснил, почему это не проблема с jquery 1.6, а проблема с 1.7.

Edit:

Я использовал плагин 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 голос
/ 17 апреля 2012

jquery 1.7.2 и tinymce 3.5b3 работают нормально.

0 голосов
/ 22 августа 2014

Когда у меня возникла та же проблема, я обновил редактор TinyMCE (пакет jQuery) до версии 3.5.11 и поведение метода attr() стало нормальным. Основной проблемой было узнать, что это конфликт между TinyMCE и методом jQuery attr(). Я не понял этого сразу.

Совет - просто обновите редактор.

...