Hi folks, I'd like to discuss the jQuery API in general and the current event API in detail:
The main problem is the ambiguity of events, unevents and DOM methods. Some examples: $().unload() - Removes load event handlers AND triggers unload event $().submit() - Triggers the submit event, but doesn't actually submit anything, that is, it does not (try to) call the submit method of the matched elements. $().blur() and $().focus() have are very similar. $().load(Function) - Binds a handler to the load event $().load(String, Hash, Function) - Starts an AJAX request The ambiguity could be avoided by forcing the user to use bind(), unbind() and trigger(). A reliable solution, but not very sexy. This is also a general problem of the jQuery API. There are more then 200 API methods, all bound to a single "class". Hell on earth for OO fanatics, but handy if you know what you are doing. If we go back to the roots and stick to bind(), unbind(), trigger(), attr() and css(), we could remove all those events and html and css attribute shortcut methods, greatly reducing the number of methods. By adding those methods, or rather only parts of it, like click(), back via plugins, the jQuery meat could be reduced to some extend, maybe even reducing the barrier for newcomers by simplifying the API docs. bind(), unbind(), trigger() and attr() could be improved to a hash as css() alread does, allowing you to set several attributes at once or adding/removing several events with one method call. Passing a hash without values to attr could be quite sexy, too, when it simply fills the hash with all available values. Your ideas and opinions, please! For all newcomers: I'd like to hear about your first impression of the jQuery API! This is invaluable for all those geeks who spent way too much time with jQuery. Regards JörnjQuer _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/