Ran into this issue on Prototype 1.5.1 and IE8.
The error is in the array without() function in IE8. without() should
return an empty array if the array sans element is empty, or the array with
that element removed.
In IE8, if there are no elements left in the array after the target element
is removed, *undefined* is returned, breaking anything chained after that.
remove: function(classNameToRemove) {
if (!this.include(classNameToRemove)) return;
this.set($A(this).*without(classNameToRemove)*.join(' '));
},
The actual source was that without() internally uses each() to iterate
across the elements, but the DOMAssistant library have overwritten
Element.each(). The new version could not catch the breaks that are thrown
by Prototype to escape from deep nested iterators, and hence the error.
Thus, the two libs should not be used in conjunction. It seems that other
browsers don't overwrite the Element.each() method when loading the two
libs like IE does.
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
"Prototype & script.aculo.us" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/prototype-scriptaculous.
For more options, visit https://groups.google.com/groups/opt_out.