top | item 3724952

(no title)

deadbeef84 | 14 years ago

Here's my thoughts:

1. Ability to modify default settings It is sometimes nice to set the global defaults.

2. Ability to expose methods. A nice way of calling the someFunc() would be nice. I guess you can do it like this: $(...).data('_wTooltip').someFunc(); but using the data() seems a bit hacky.

3. Use settings from html5 data-attribute, ie data-tooltip='{"foo":"baar"}'. Not really necessary for the example plugin, but I think it could be for others. I hate it when I need initialize every instance separately just to specify it's options, when they could be specified in the markup.

4. Missing var before $settings. Just a typo I guess?

5. I think the name generate() is a bit misleading, init() or initialize() makes more sense to me.

discuss

order

rduchnik|14 years ago

I like your points for 1 and 2, will add those in the next iteration, constantly trying to improve this thing.

I didn't use init() because sometimes I may use init to do something else that doesn't deal with generating the plugin code, so I ended up going with generate(), maybe create() would be a better word.

robin_reala|14 years ago

Not sure you should be (ab)using data- attributes like that. They’re already a key/value pair so you markup your data as <div data-tooltip-foo="baa" data-tooltip-qux="quux">

deadbeef84|14 years ago

If you have many options, they are easier to retrieve, just call .data('tooltip') and jQuery will do the parsing of the object. Using separate attributes you would have to call .data() for every attribute. Anyway, I guess any of the two methods would be fine! :-)

deadbeef84|14 years ago

6. Prevention of double instantiation.