2011-02-09 3 views
1

Я использую плагин cluetip jQuery.jQuery: помощь триггера

Я пытаюсь добавить свою собственную кнопку закрытия. JQuery Я пытаюсь вызвать это:

$(document).bind('hideCluetip', function(e) { 
    cluetipClose(); 
}); 

Есть много ссылок на cluetipClose() через код и кнопки, что JQuery вставляет его использует и работает так, что функция, насколько я знаю работает отлично.

Я пытаюсь вызвать что с помощью

$('a.close-cluetip').trigger('hideCluetip'); 

Я создал мою ссылку:

<a href="#" class="close-cluetip">Close</a> 

Но он ничего не делает.

Я называю это неправильно?

ответ

1

Проблема заключается в том, что в плагине cluetip функция clueTipClose() находится внутри крышки, поэтому у вас нет доступа к ней, если вы не находитесь внутри крышки (т. Е. Внутри кода плагина). Теперь я должен признать, что этот плагин, похоже, не настроен так, чтобы быть настолько расширяемым. Если они сделали эту функцию доступной через «clueTip» объект, который был создан для каждого элемента, который использует его, вы сможете добавить еще один метод JQuery до конца закрытия, как это:

$.fn.cluetipClose = function() { 
    return this.each(function() { 
     var thisCluetip = findCluetipObj(this); 

     if (thisCluetip) 
      thisCluetip.cluetipClose(); 
    }); 
}; 

Но у вас есть неудачная удача в том, что вы не можете легко это сделать. Похоже, этот парень написал свой плагин jQuery с кодом, отличным от OO, внутри закрытия. Бедный ты.

Теперь, на стороне плюса, кажется, что этот плагин уже запускает этот код непосредственно после того, как он создает функцию cluetipClose(). Вы пробовали просто сделать это из вашего кода:

$('a.close-cluetip').trigger('hideCluetip'); 

без повторного объявления документ hideCluetip привязку? Думаю, это должно сработать.

+0

Я не писал привязку. Это находится в плагине js. Я просто пытаюсь назвать это, щелкнув ссылку – iamjonesy

+0

@iamjonesy: ну, конечно, вы этого не сделали :-). Вы пытались запустить мероприятие так или иначе, как я уже сказал? Как я уже сказал, событие уже прикреплено на уровне документа при создании экземпляра плагина, поэтому его запуск должен быть закрыт. Если это не работает, попробуйте '$ (document) .trigger ('hideCluetip')' – treeface

Смежные вопросы