X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=public%2Fjs%2Futils.js;h=b16a9c2ec4206c1ec83bba7ca38e20f425585a60;hb=868eea06f69fbfdb361d5c9142ecce98918d927b;hp=376fbe85c358a72283e7e1b80e69d1265284fd1e;hpb=cc68f76d0f50528c2e4743879ec37363bfdcf26a;p=syj.git diff --git a/public/js/utils.js b/public/js/utils.js index 376fbe8..b16a9c2 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -26,6 +26,9 @@ var CloseBtn = Class.create({ 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); } @@ -336,7 +339,7 @@ Element.addMethods(['input', 'textarea'], { } 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); @@ -392,7 +395,7 @@ Element.addMethods('div', { 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; @@ -405,7 +408,7 @@ Element.addMethods('div', { 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')); }