
你可能为了实现类"Googlesuggest"类型的功能而需要选择输入框中的一定范围的文字,但是不同浏览器间选择的模型不一样。这DWRUtil函数可以帮你实现。DWRUtil.setValue(id,value)DWRUtil.setValue(id,value)根据第一个参数中指定的id找到相应元素,并根据第二个参数改变其中的。这个函数能操作大多数HTML元素包括select(去处当前选项的而不是文字)、input元素(包括textarea)、div和span。DWRUtil.setValues()setValues()和setValue()非常相,除了输入的是包含name/value对的javascript对象。name是HTML元素的ID,value是你想要设置给相应的元素的。DWRUtil.toDescriptiveStringDWRUtil.toDescriptiveString()函数比默认的toString()更好。第一个参数是要调试的对象,第二个参数是可选的,用来指定内容深入的层次:·0:单行调试·1:多行调试,但不深入到子对象。·2:多行调试,深入到第二层子对象
这里有一些功能不适合加入到DWRUtil中。它们在解决一下特殊问题是很有用,但是他们还不够通用以适用任何场合。修补浏览器事件如果你创建了一个DOM元素,然后用addAttribute在这个元素上创建了一个事件,那么他们不能被正常的触发。你可以使用下面的脚本来遍历一个DOM树,并重新为他们绑定事件,这样他们就能正常的触发了。把'click'改成你希望的事件。DWREngine._fixExplorerEvents=function(obj){for(vari=0;i<obj.childNodes.length;i){varchildObj=obj.childNodes[i];if(childObj.nodeValue==null){varonclickHandler=childObj.getAttribute('onclick');if(onclickHandler!=null){childObj.removeAttribute('onclick');//Ifusingprototype://Event.observe(childObj,'click',newFunction(onclickHandler));//Otherwise(butwatchoutformemoryleaks):if(element.attachEvent){element.attachEvent("onclick",onclickHandler);}else{element.addEventListener("click",onclickHandler,useCapture);}}DWREngine._fixExplorerEvents(childObj);}}传递额外的数据到callback函数通常我们需要传递额外的数据到callback函数,但是因为所有的回调函数都只有一个参数(远程方法的返回结果),这就需要一些小技巧了。
解决方案就是使用Javascript的闭包特性。例如,你的回调函数原本需要像这个样子:functioncallbackFunc(dataFromServer,dataFromBrowser){//用dataFromServer和dataFromBrowser做些事情......}那么你可以像这个组织你的函数:vardataFromBrowser=...;//定义一个闭包函数来存储dataFromBrowser的引用,并调用dataFromServervarcallbackProxy=function(dataFromServer){callbackFunc(dataFromServer,dataFromBrowser);};varcallMetaData={callback:callbackProxy};Remote.method(params,callMetaData);(调用元数据在脚本介绍中有解释)换句话说,现在你作为callback函数传递过来的不是一个真正的callback,他只是一个做为代理的闭包,用来传递客户端的数据。你可以用更简介的形式:vardataFromBrowser=...;Remote.method(params,{callback:function(dataFromServer){callbackFunc(dataFromServer,dataFromBrowser);}});错误处理在1.0版中错误处理规则有些bug,1.1修复了这些错误。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25046-15.html
此后
干嘛不把我大汉帝国虽远必诛的经验也集成进来
在维护国家主权的问题上