yui/yui3 — pull request #1184 by clarle (2013-09-11 00:31:56+00:00)
Title: Add support for new elements in `event-valuechange`

As discussed in #1157:

This PR adds support for two groups of new elements for `event-valuechange`, `` elements with `
` choices, and any element with the `[contenteditable="true"]` attribute.

The `` elements work nearly the same way as `` and ``, which basically checks their `value` attribute for any change. There are some performance cheats involved in the polling loop to improve performance on IE6 without having to resort to using `node.get('value')`, and have been fully tested.

The `[contenteditable="true"]` elements act differently, and fires a change when their `innerHTML` property changes. For now, there isn't support for elements that inherit `contenteditable` from a parent element. It's something I could add, but I'm worried about the performance hit on having to search up the DOM tree to check whether or not the element has a parent node that has `[contenteditable="true"]`. If that's something that might be useful, though, let me know, and I'll see if I can find an efficient way to do that.

This was tested on all A-grade browsers (including IE6) and passes all unit tests and manual tests for each one. There were no performance hits even after adding the new functionality in.