Плагин jQuery исчезает после загрузки страницы - PullRequest
0 голосов
/ 24 февраля 2012

Я загружаю плагин treeTable jQuery со страницей и использую его так:

jQuery('#tablename').treeTable();

И он работает просто отлично.Теперь, если я нажимаю кнопку и запускаю ту же самую строку во второй раз, я получаю сообщение об ошибке, сообщающее, что нет метода с именем treeTable.Если я просто копирую и вставляю строку для запуска несколько раз во время загрузки, они работают нормально, поэтому проблема появляется только после того, как вся страница была загружена в DOM.Теперь я могу снова успешно выполнить код, если назначу переменную treeTable переменной и снова запусту ее следующим образом:

Во время загрузки страницы:

var treetable = jQuery('#tablename').treeTable();

После нажатия кнопки:

treetable.treeTable();

Это прекрасно работает.Это было бы работоспособным решением, если бы не моя необходимость использовать другие методы в плагине treeTable для динамически загружаемых элементов (я не знаю сгенерированные идентификаторы заранее и поэтому не могу создавать объекты-заполнители для их вызова),Поэтому мне нужно выяснить, почему плагин treeTable, по-видимому, исчезает после завершения загрузки страницы.

Моя настройка на самом деле отлично работает в моей маленькой тестовой среде, эта проблема возникает только тогда, когда я интегрирую свою страницу вкрупный сайт.Единственные другие плагины jQuery, которые используются на большом сайте, это пользовательский интерфейс, dataTables и multiSelector.

1 Ответ

0 голосов
/ 24 февраля 2012

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

Если вы используете jQuery 1.7 или новее, возможно, пытаетесь что-токак:

jQuery(document).on("click", ".btnClass", function(){
    jQuery('#tablename').treeTable();
)};

Если вы используете jQuery 1.3-1.6 или более поздней версии, возможно, пытаетесь что-то вроде:

jQuery(".btnClass").bind("click",function(){
    jQuery('#tablename').treeTable();
)};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...