DOMAssistant 2.8 Release Candidate 1

February 9th, 2010 chenghong

First release candidate for 2.8 is available!

Changes since beta 4:

  • [Chg] clientX/Y are now left untouched. Use pageX/Y instead to retrieve mouse coordinates relative to the top left of a document
  • [Fix] mouseenter/mouseleave do not work in relayEvent
  • [Fix] Event.relatedTarget incorrect in IE
  • [Fix] Event objects are sometimes ‘fixed’ more than once
  • [Fix] $(window).addEvent() adds the event twice in certain browsers

Download

Work is now concentrated on stabilization and performance enhancement.

Beta 4 has landed - DOMAssistant 2.8 gains support for form events delegation

February 4th, 2010 chenghong

DOMAssistant 2.8 introduces event delegation since beta 1, via the methods relayEvent() and unrelayEvent(). Event delegation relies on the bubbling characteristics of events, which, unsurprisingly, do not behave consistently across browsers. Beta 1 ensures support for ‘focus’ and ‘blur’; beta 4 takes it a step further by providing support for traditionally non-bubbly form events on IE - ’submit’, ‘reset’, ‘change’ and ’select’. Special thanks to Greg Reimer for inspiration of the technique.

Changes since beta 3:

  • [New] Added relayEvent support for form events submit/reset/change/select
  • [New] Cross-browser support for mouseenter and mouseleave events
  • [Chg] removeEvent() now removes all events that are bound to an element (including inline ones) when triggered without arguments
  • [Fix] [selected=selected], [readonly=readonly] now work the same as [selected], [readonly]
  • [Fix] Memory leakage associated with data storage and events
  • [Fix] Minor performance improvement in internal cleanUp method

Download

Feature set for DOMAssistant 2.8 will be freezed from this point onward. Now time for bug hunting and fixing!

DOMAssistant 2.8 hits beta 3

February 1st, 2010 chenghong

Changes since beta 2:

  • [New] Ability to avoid global namespace collision of $ and $$ with DOMAssistant.harmonize()
  • [Fix] ID selectors containing $ and = do not work
  • [Fix] Some events cannot be removed via removeEvent, such as mutation events

Introducing the ‘harmony’ mode

The harmony mode allows DOMAssistant to live with other Javascript libraries on the same page without conflict. To use it, just invoke DOMAssistant.harmonize(), like so:

<script type="text/javascript" src="DOMAssistantCompressed.js"> </script>
<script type="text/javascript">
    DOMAssistant.DOMReady( function() {
        // Use $ and $$ like you always have
    } );
    DOMAssistant.harmonize();
    var divs = DOMAssistant.$('div');
</script>
<script type="text/javascript" src="AnotherLib.js"> </script>

Download

We appreciate if you could report any abnormalities you might find in this beta. Version 2.8 is now closer to release than ever!