}
style = Object.extend({
- float: "right",
+ 'float': "right",
margin: "2px",
fontWeight: "bold",
padding: "0px"
elt.insert({top: btn});
btn.observe("click", function(evt) {
evt.stop();
+ if (evt.detail === 0) { // it's not a real click, possibly a submit event
+ return;
+ }
if (typeof options.callback === "function") {
options.callback.call(elt);
}
Element.setStyle(element, {'backgroundColor': color});
Element.setStyle.delay(timeout, element, {'backgroundColor': current});
return element;
+ },
+ text: function(element, content) {
+ if (typeof content === "undefined") { // getter
+ if (element.nodeType === 8) {
+ return "";
+ } else if (element.nodeType === 3 || element.nodeType === 4) {
+ return element.nodeValue;
+ } else {
+ return $A(element.childNodes).inject("", function(acc, el) {
+ return acc + Element.text(el);
+ });
+ }
+ } else { // setter
+ var node = document.createTextNode(content);
+ element.update().appendChild(node);
+ return element;
+ }
}
});
}
handler.apply(null, arguments);
});
- proceed(element, 'paste', handler);
+ proceed(element, 'paste', handler.defer.bind(handler));
return proceed(element, 'change', handler);
}
return proceed(element, eventName, handler);
while (node) {
nextNode = node.nextSibling;
- if (node.nodeType === 3 || node.tagName.toLowerCase() === 'br') {
+ if (node.nodeType === 3 || node.tagName.toLowerCase() === 'br' || node.textContent || node.innerText) {
div.removeChild(node);
}
node = nextNode;
var node = (div.ownerDocument || document).createTextNode(message);
if ($A(div.childNodes).filter(function(node) {
- return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
+ return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br' || node.textContent || node.innerText);
}).length) {
div.insert(new Element('br'));
}