Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Prototype 1.6 RC Includes DOM Builder and Event API Overhaul

Prototype 1.6 RC Includes DOM Builder and Event API Overhaul

This item in japanese

Earlier this month the Prototype team released the first RC of 1.6.0. This release contains a number of core API upgrades, bug fixes, and new features. Among the highlights:
  • Event API Enhancements
    • Event handlers registered with Event.observe or Element#observe are now automatically bound to the event's target element in all browsers.
    • Event objects are now extended with a collection of instance methods.
    • The event name and handler arguments to Event.stopObserving and Element#stopObserving are now optional,
    • Prototype now has support for custom events.
    • We've built in cross-browser support for the DOMContentLoaded event
  • Function API Enhancements
    • Function#wrap distills the essence of aspect-oriented programming into a single method
    • Function#curry allows for partial function application
    • Function#methodize encapsulates the pattern of converting a function's first argument into its this value.
    • Function#argumentNames returns an array of strings representing the function's named arguments
    • Function#delay provides a convenient wrapper around window.setTimeout
  • Class API Enhancements
    • Class.create now supports three alternate forms of invocation
    • The new Class.extend method works like Object.extend
    • If you're overriding a method from a parent class, you can now access the superclass method by naming the overriding function's first argument $super.
    • Classes now have constructor, superclass, and subclasses properties
  • Ajax API Enhancements
    • You can now access JSON response bodies as JavaScript objects
    • The transport object itself is now wrapped by Prototype
  • DOM API Enhancements
    • Prototype now boasts a new cross-browser DOM Builder
    • We've deprecated the Insertion object and Position namespace
    • Element#update and Element#replace also both now accept DOM elements
    • Element#setStyle now accepts either a string of CSS rules
  • Improved support for JavaScript 1.6 and WHATWG 1.0 standards

As noted in the release bullet points above, the Event API has been overhauled. From the press release "one of our worst APIs has become one of our best, overnight". Version 1.6 also includes a new DOM Builder.

Rate this Article