No one probably cares but me about this - but there were a few issues
with the previous code...here is some that works, and is suitable for
placing in an extension.js file:
var prev = {};
["insert","remove","replace","update","wrap"].each(function(s){prev[s]
= Element[s]});
var add = {
insert: function(element, insertions){
var fireEs = [];
if (Object.isString(insertions) || Object.isNumber(insertions)
||
Object.isElement(insertions) || (insertions &&
(insertions.toElement || insertions.toHTML)))
insertions = {bottom:insertions};
for (position in insertions) {
position = position.toLowerCase();
if (position == "before" || position == "after")
{
fireEs.push($(element.parentNode));
}
else
{
fireEs.push(element);
}
}
var retVal = prev.insert(element, insertions);
fireEs.each(function(e){
e.fire("nodeadded");
e.fire("domchanged");
});
return retVal;
},
remove: function(element){
var fireE = $(element.parentNode), retVal =
prev.remove(element);
fireE.fire("noderemoved");
fireE.fire("domchanged");
return retVal;
},
replace: function(element, content){
var fireE = $(element.parentNode), retVal =
prev.replace(element,
content);
fireE.fire("noderemoved");
fireE.fire("nodeadded");
fireE.fire("domchanged");
return retVal;
},
update: function(element, content){
var retVal = prev.update(element, content);
element.fire("domchanged");
return retVal;
},
wrap: function(element, wrapper, attributes){
var fireE = $(element.parentNode);
var retVal = prev.wrap(element, wrapper, attributes);
fireE.fire("nodeadded");
fireE.fire("domchanged");
return retVal;
}
}
Element.addMethods(add);
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Prototype: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---