Я разрабатываю jquery gallery, и я хочу параметризовать функцию подсветки для поддержки любых видов лайтбоксов (например, fancybox). В моих дефолтов я сделал что-то вроде:Прикрепить fancybox/lightbox/idontknowbox на элементе
$.fn.mygallery.defaults = {
functionHighlighter: null
}
так в коде, создавая деталь, я буду проверить это свойство, и если это выставиться на функцию, я хочу вызвать его на элемент:
if ((typeof opt.functionHighlighter) === "function") {
opt.functionHighlighter.call(link);
}
где ссылка является анкерным элементом, содержащим миниатюрное изображение, с href, установленным на исходное изображение. В моей идее, когда плагин называется, я устанавливаю функцию с:
$("#gallery").mygallery({ functionHighlighter: $.fancybox });
но «вызов» на functionHighlighter выполняет непосредственно FancyBox, который возвращает пустую область. То, что я хочу, чтобы эмулировать является выполнение
link.fancybox();
, что правильно строит плагин на ссылку. Любые идеи?
Да, есть уже расширение по умолчанию, я опустил его только для краткости. В ядро моего плагина я могу правильно получить функциюHighlighter как $ .fancybox, моя проблема в том, что я не знаю, как применить ее к объекту, используя ссылку functionHighlighter. – tanathos
Обновлено. может быть, так? – XGreen
В моем коде плагина я не могу сделать вызов, например $ .fancybox(), потому что я не знаю, является ли функция, используемая как highlighter, fancybox или другим плагином (например, лайтбоксом). Я должен обобщить вызов ... – tanathos