h1 非 util.js 中的功能
这里有一些功能不适合加入到 DWRUtil 中。它们在解决一下特殊问题是很有用,但是他们还不够通用以适用任何场合。
修补浏览器事件
如果你创建了一个 DOM 元素,然后用 addAttribute 在这个元素上创建了一个事件,那么他们不能被正常
的触发。你可以使用下面的脚本来遍历一个 DOM 树,并重新为他们绑定事件,这样他们就能正常的触发
了。
把click
改成你希望的事件。
DWREngine._fixExplorerEvents = function(obj) { for (var i = 0; i < obj.childNodes.length; i++) { var childObj = obj.childNodes [i]; if (childObj.nodeValue == null) { var onclickHandler = childObj.getAttribute('onclick'); if (onclickHandler != null) { childObj.removeAttribute('onclick'); // If using prototype: // Event.observe(childObj, 'click', new Function(onclickHandler)); // Otherwise (but watch out for memory leaks): if (element.attachEvent) { element.attachEvent("onclick", onclickHandler); } else { element.addEventListener("click", onclickHandler, useCapture); } } DWREngine._fixExplorerEvents(childObj); } }