如何onclick-触发非原生jQuery插件的动作?

我已经安装了第三方jQuery插件(它是一个手风琴)。 它显示在我的页面上,并按预期工作。

当我点击页面上的图像时,我想触发其中一个插件的动作(打开一个特定的幻灯片)。

我似乎无法获得正确的代码和/或语法。

我安装的插件是“EasyAccordion”(http://www.madeincima.eu/blog/jquery-plugin-easy-accordion/)。 它的.js源代码发布在这里: http : //pastebin.com/55JB4pr2 。

我在Drupal7页面上使用插件。

我不认为特定的插件,或者它在Drupal中使用的事实,与正确的jQuery使用相关。

jQuery与Drupal捆绑在一起。 我在我的页面上启动插件:

( function ($) { Drupal.behaviors.myEasyAccordion = { attach: function(context,settings) { $('#accordion1',context).easyAccordion({ autoStart: false, ... }); } }; })(jQuery); 

在我的标记中,我有

  ... 
... EASYACCORDION MARKUP ...
...

再次,使用此init和标记,手风琴出现/按预期工作。

在同一页面上,在另一个页面上,我添加了一个图像链接,即

  ... 
... EASYACCORDION MARKUP ...
...

我想点击“myImg”div中的图像,让EasyAccordion捕捉到特定的打开“窗格”。 我认为,特定窗格的激活是通过以下方式解决的

  line #127 jQuery.fn.activateSlide = function() { 

函数,如上面提供的pastebin-link所示。

Iiuc,我需要在上面的init函数中添加代码,将图像单击绑定到EasyAccordion中的动作执行。

我的问题是 – 如何?

我想我需要开火(例如,幻灯片#3),

  jQuery(this).activateSlide(3); 

添加一些变体,

  $('#myImg').click(function () { ... }); 

到init,将它附加到EasyAccordion init的函数()。 就像是?

  ( function ($) { Drupal.behaviors.myEasyAccordion = { attach: function(context,settings) { $('#accordion1',context).easyAccordion({ autoStart: false, ... }); ----> $('#myImg',context).easyAccordion({ ... ----> ????????? ----> }); } }; })(jQuery); 

到目前为止,我找不到正确的语法。 至少,我无法让点击图像实际上导致EasyAccordion中的指定项目“激活”。

这两个post,

 http://stackoverflow.com/questions/5492258/easyacordion-jump-to-desired-slidenum-jquery-plugin http://stackoverflow.com/questions/6243870/easyaccordion-jquery-plugin-callbacks 

我认为很接近。 但是我仍然没有把语法撬到我的Drupal.behaviors ……节。

任何指导?

这很有效。

为每张幻灯片添加一个可定位的类,以便标记:

  ... 
...
...
...

那么,在init中,

  ( function ($) { Drupal.behaviors.myEasyAccordion = { attach: function(context,settings) { $('#accordion1',context).easyAccordion({ autoStart: false, ... }); $('#myImg',context).click(function() { $("dt.slide_1").activateSlide(); }); } }; })(jQuery); 

现在,点击#myImg div中的img会打开目标幻灯片…这里,’slide_1’,如预期的那样。