Prototype Changes
I found this article via Ajaxian regarding a nice block of Prototype updates.
- Shorter syntax for event handling
JAVASCRIPT:
-
$('element').observe('click', function(e) { alert(e); });
-
- Make destructive Element, Form, and Form.Element methods return their first argument, so that multiple calls can be chained together.
JAVASCRIPT:
-
$(“sidebar”).addClassName(“selected”).show();
The following methods now return their first argument: Element.toggle, Element.hide, Element.show, Element.remove, Element.update, Element.replace, Element.addClassName, Element.removeClassName, Element.observe, Element.stopObserving, Element.cleanWhitespace, Element.scrollTo, Element.setStyle, Element.makePositioned, Element.undoPositioned, Element.makeClipping, Element.undoClipping, Form.reset, Form.disable, Form.enable, Form.focusFirstElement, Form.Element.focus, Form.Element.select, Form.Element.clear, Form.Element.activate, Form.Element.disable, Form.Element.enable.
-
- Form and Form.Element methods mixed in to $ and $$
- For consistency, Element.toggle, Element.show, and Element.hide no longer take an arbitrary number of arguments.
!! BACKWARDS COMPATIBILITY CHANGE !!
If you have code that looks like this: Element.show(‘page’, ‘sidebar’, ‘content’); You need to replace it with code like this: [‘page’, ‘sidebar’, ‘content’].each(Element.show);
- Mix in Form and Form.Element methods to forms and form field elements with $() and $$(). Closes #4448. [Dan Webb, sam]
- Add Object.clone
- Add Form.Element.disable and Form.Element.enable. Closes #4943.
- Field is now simply an alias for Form.Element.
- Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669.
- Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809.
- Improve support for synchronous requests. Closes #5916.
- Add serialization and observation support for input type=search. Closes #4096.
- Properly decode query components in String.prototype.toQueryParams. Closes #3487.
- Add Array.prototype.reduce:
- [1, 2].reduce() // [1, 2]
- [1].reduce() // 1]
- [].reduce() // undefined]
- Add Object.keys and Object.values
- Simulate non-GET/POST requests by POSTing with a _method parameter set to the actual verb
- Make Element.update() handle TABLE-related elements with the DOM API because of IE’s missing .innerHTML property on them
- Sync to script.aculo.us unittest.js library as of 2006/08/29
- Add additional unit tests to test/unit/dom.html for testing Element.update and $().update in various enviroments
- Prevent possible exceptions on unloading the page in IE
I'm psyched!
Discuss This Article
|
|
3 Responses to “Prototype Changes”
-
sp
Posted: Sep 5th, 2006 at 12:24 am1 -
asd
Posted: Sep 19th, 2006 at 5:20 amReply to this comment.asdasd
2 -
Yeago
Posted: Sep 19th, 2006 at 8:53 amReply to this comment.Worst colorscheme on the internet.
Dark gray on black? Are you drunk?
Lots of good info here, to those who don’t mind the squint.
3



Oh, by the way, is there any “prototype official blog” or something, where any kinds of announcements can be found? It seems very strange to me, that such a wide-used library like prototype is so poorly documented and (btw) hadn`t been updated for such a long period of time.