Подтвердить что ты не робот

TinyMCE и jQuery - attr() возвращает объект

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

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

Этот код выводит "string" и якорный тег 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 (варианты);.

Кто-нибудь еще испытывал такое поведение с TinyMCE? Есть ли известная ошибка или обходной путь? Почему TinyMCE, по-видимому, влияет на не связанные элементы HTML на странице?

4b9b3361

Ответ 1

У меня такая же проблема. Это вызвано пакетом 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();
});

Надеюсь, что это поможет

Ответ 2

jquery 1.7.2 и tinymce 3.5b3, похоже, работают нормально.

Ответ 3

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

Совет просто обновляет редактор.