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);
}
}