JQuery ломается, если функция не существует - PullRequest
1 голос
/ 11 марта 2012

Tinymce перестает работать, если на той же странице я использую selectmenu из https://github.com/fnagel/jquery-ui

Tinymce с конфигурацией по умолчанию

и selectmenu:

$('select.flags').selectmenu();

РЕДАКТИРОВАТЬ:

Проблема в том, что на странице с tinymce я не загружаю сценарий для функции selectmenu.Должен ли я удалить его из js, который запускает все функции или есть какой-либо способ изменить его для запуска, только если функция существует и сможет запускаться

Ответы [ 2 ]

2 голосов
/ 11 марта 2012

Вот простой способ заставить проблемы 'функция не существует' исчезнуть.

 $.fn.selectmenu = $.fn.selectmenu || $.noop
 $('select.jquery_smenu').selectmenu(); //do what you will

или вы можете сделать это так:

if( $.fn.selectmenu ){
   $('select.jquery_smenu').selectmenu(); //do what you will
}

для записи,функция не существует, или var не является функцией, является проблемой javascript больше, чем jQuery.Надеюсь, это поможет!

2 голосов
/ 11 марта 2012

Крошечная работа с этим сценарием, добавленным на страницу, но не инициализированным для выбора?

Вы применяете selectmenu для каждого выбора на вашей странице. tinymce использует select, и вы, конечно же, не хотите их менять.

Дайте своим избранникам класс как

<select class="jquery_smenu"> ....

и измените свой селектор:

$('select.jquery_smenu').selectmenu();

Я не могу проверить, является ли это причиной, по которой крошечные перестают работать, но вы должны это изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...