English 中文(简体)
jQuery deconstructors for plugins?
原标题:

I m using the Galleria plugin inside an Accordion plugin to display images in a super cool way. A problem occurs, however, when I open up a new tab (in the accordion) then come back to the gallery tab. This is causing the galleria to be reinitialized which makes it fail.

I was wondering if there s a way to __deconstruct() a plugin so it can then be reinitialized when needed without causing problems?

$( .haccordion .header ).click(function()
{
   /* ---- Gallery Code ---- */
   if ($(this).find( div ).attr( title ) ==  photogallery )
   {
      $( .gallery ).galleria();

If I initialize the plugin on document.load (without checking for which tab gets opened) it loads the plugin but it s quite buggy. No images load, can t click things, etc... If I reload the plugin when div.photogallery it just causes failure altogether. Doesn t load.

So I m guessing the only way to overcome this is somehow killing the plugin then reinitializing it?

问题回答

The problem with removing a plugin is that the plugin isn t isolated as a single object somewhere that you can just remove, it s now spread all over a certain part of your code as events and styles attached to a lot of elements, and perhaps even extra elements added.

When you reinitialise the plugin it will overwrite it s own changes to the code, causing duplicates that clash and other problems. To reinitalise the plugin you would have to save a copy of the affected content before the plugin was initialised the first time, so you can restore that part of the code to the original state, before reinitialising the plugin.

However, if the plugin adds something to the window scope, you can t restore that by restoring part of the code. Either you would have to find out what the plugin does so that you can undo it, or you would have to reload the page.





相关问题
jQuery - ScrollTo and Serial Scroll not working together

I have tested the scrollTo() plugin, but I need a way to stop the scrolling animation, so I am looking at serialScroll(). Here is what I used with scrollTo: $( #scroller ).scrollTo( 1000px , 3000); ...

jQuery deconstructors for plugins?

I m using the Galleria plugin inside an Accordion plugin to display images in a super cool way. A problem occurs, however, when I open up a new tab (in the accordion) then come back to the gallery tab....

XPCOM Security issues

I m developing a Firefox plugin using XPCOM, I ve not yet read all the docs, but as far as I can see, A plugin is simply a DLL that provides services via a XPCOM interface and interacts with the ...

Ruby on Rails plugin development process

I m considering developing aspects of a website as Rails plugins for reuse. My question is about the development process. Since each of these plugins will provide a "slice" of functionality, should ...

help mongrel wont start

I have decided to switch from Restful authentication to authlogic.. so what I did was delete every file and folder that got installed when I downloaded the plugin.. now when I try to "ruby script/...

Basic MEF workflow/usage

I m looking to a framework which will allow me to have a simple plugin system in my .NET application. It seems MEF is the framework which Microsoft is endorsing, and will become part of .NET 4 (it ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

java plugin cache and dynamic IP host

I m trying to use Amazon S3 and Amazon Cloudfront CDN to deliver the jar files of my applet application. I m seeing several cache misses of my jars by the java plugin. This is a show-stopper for me, ...

热门标签