﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-泰仔在线-随笔分类-Javascript</title><link>http://www.blogjava.net/kxx129/category/17059.html</link><description>java学习,心情日记,缤纷时刻</description><language>zh-cn</language><lastBuildDate>Thu, 24 Apr 2008 17:14:30 GMT</lastBuildDate><pubDate>Thu, 24 Apr 2008 17:14:30 GMT</pubDate><ttl>60</ttl><item><title>javascript树型菜单</title><link>http://www.blogjava.net/kxx129/archive/2008/04/22/194817.html</link><dc:creator>泰仔在线</dc:creator><author>泰仔在线</author><pubDate>Tue, 22 Apr 2008 09:06:00 GMT</pubDate><guid>http://www.blogjava.net/kxx129/archive/2008/04/22/194817.html</guid><wfw:comment>http://www.blogjava.net/kxx129/comments/194817.html</wfw:comment><comments>http://www.blogjava.net/kxx129/archive/2008/04/22/194817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kxx129/comments/commentRss/194817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kxx129/services/trackbacks/194817.html</trackback:ping><description><![CDATA[<p><font face="Arial">用javascript生成树型菜单,目前找到了比较好的三个实现.</font></p>
<p>1.<a href="http://webfx.eae.net/dhtml/xtree/">xtree</a>和<a href="http://webfx.eae.net/dhtml/xloadtree/xloadtree.html" target="_blank">xloadtree</a>,总体来说,实现还不错,提供了一次性构建树,和动态加载树(生成指定格式的XML才可以),改变Style,功能中等,用法中等.</p>
<p>2.<a href="http://developer.yahoo.com/yui" target="_blank">yui</a>的<a href="http://developer.yahoo.com/yui/treeview/" target="_blank">treeview</a>,这也是不错的实现,是Yahoo提供的,支持一次性构建,动态构建,改变Style,Menu样式等等,功能很多,但用法比较复杂</p>
<p>3.<a href="http://www.destroydrop.com/javascripts/tree/" target="_blank">dtree</a>,比较中规中矩的一个实现,用法简单,不支持动态加载,如果不用高级功能的话,用这个是不错的选择</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 如果只是想用一次构建树,就选择dtree,如果想用动态加载树,就用xtree+xloadtree和treeview,如果想用高级事件处理,menu样式就只能选择treeview了.</p>
<img src ="http://www.blogjava.net/kxx129/aggbug/194817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kxx129/" target="_blank">泰仔在线</a> 2008-04-22 17:06 <a href="http://www.blogjava.net/kxx129/archive/2008/04/22/194817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js共通报错</title><link>http://www.blogjava.net/kxx129/archive/2006/11/09/76809.html</link><dc:creator>泰仔在线</dc:creator><author>泰仔在线</author><pubDate>Thu, 09 Nov 2006 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/kxx129/archive/2006/11/09/76809.html</guid><wfw:comment>http://www.blogjava.net/kxx129/comments/76809.html</wfw:comment><comments>http://www.blogjava.net/kxx129/archive/2006/11/09/76809.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kxx129/comments/commentRss/76809.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kxx129/services/trackbacks/76809.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;最近一个项目应日本客户的需求，我们在其中添加了一个共通报错的模块，对前后台的各种提示信息进行收集，并进行统一的处理，显示给系统的用户。<br>&nbsp;&nbsp;&nbsp;这个模块，主要思想就是利用前台顶层页面的一个js数组，将提示信息都收集起来，然后再按照要求进行显示。前台的收集肯定就不用说了，后台的收集我这里是将后台的提示信息先保存在request里面，到达页面后再利用标签转存到js数组里，最后进行统一的呈现。这个过程中由于js经验的不足，走了一些弯路，因此把它记录下来，作为以后继续学习的基础。<br>&nbsp;&nbsp;&nbsp;这里是开始调试的一些代码：<br>//添加錯誤message打印到頁面<br>function showMsgWindow(obj){<br>&nbsp;var pagePath = window.top.TGlobals.webRoot + "/pages/common/msgShow.jsp";<br>&nbsp;showModelessDialog(pagePath,obj,"dialogTop:200px;dialogLeft:200px;dialogHeight:400px;dialogWidth:700px;status:no;edge:sunken; ");<br>}</p>
<p>//定义Message数据结构<br>function msgObj(msgname, msgkey, msgvalue) {<br>&nbsp;this.msgname = msgname;<br>&nbsp;this.msgkey = msgkey;<br>&nbsp;this.msgvalue = msgvalue;<br>&nbsp;<br>&nbsp;msgObj.prototype.getname = function() {<br>&nbsp;&nbsp;return this.msgname;<br>&nbsp;}<br>&nbsp;<br>&nbsp;msgObj.prototype.getkey = function() {<br>&nbsp;&nbsp;return this.msgkey;<br>&nbsp;}<br>&nbsp;<br>&nbsp;msgObj.prototype.getvalue = function() {<br>&nbsp;&nbsp;return this.msgvalue;<br>&nbsp;}<br>}</p>
<p>//去空<br>function zNull(str) {<br>&nbsp;if (str.length &lt; 1) {<br>&nbsp;&nbsp;str = "&amp;nbsp";<br>&nbsp;}<br>&nbsp;return str;<br>}</p>
<p>function errorMsgWindow(){<br>&nbsp;var obj = window.top.errorMsg;<br>&nbsp;if (obj.length &gt; 0) {<br>&nbsp;&nbsp;showMsgWindow(obj);<br>&nbsp;&nbsp;clearErrorMessage();<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>&nbsp;return true;<br>}</p>
<p>//根据参数对Message进行初始化<br>function pushErrorMessage(){<br>&nbsp;var strobj = new msgObj();</p>
<p>&nbsp;if (arguments.length &gt;= 3) {&nbsp;&nbsp;<br>&nbsp;&nbsp;strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), zNull(arguments[2]));<br>&nbsp;} else if (arguments.length == 2) {<br>&nbsp;&nbsp;strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), "&amp;nbsp");<br>&nbsp;} else {<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>&nbsp;window.top.errorMsg.push(strobj);<br>}</p>
<p>function clearErrorMessage(){<br>&nbsp;window.top.errorMsg = new Array();<br>}<br>&nbsp;&nbsp;&nbsp;事实证明这里有几个地方是有点问题的，一般调用好像不会出现，但用的范围广一些就会有感觉了。</p>
<img src ="http://www.blogjava.net/kxx129/aggbug/76809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kxx129/" target="_blank">泰仔在线</a> 2006-11-09 11:11 <a href="http://www.blogjava.net/kxx129/archive/2006/11/09/76809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 中的键盘事件</title><link>http://www.blogjava.net/kxx129/archive/2006/09/05/67777.html</link><dc:creator>泰仔在线</dc:creator><author>泰仔在线</author><pubDate>Tue, 05 Sep 2006 04:39:00 GMT</pubDate><guid>http://www.blogjava.net/kxx129/archive/2006/09/05/67777.html</guid><wfw:comment>http://www.blogjava.net/kxx129/comments/67777.html</wfw:comment><comments>http://www.blogjava.net/kxx129/archive/2006/09/05/67777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kxx129/comments/commentRss/67777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kxx129/services/trackbacks/67777.html</trackback:ping><description><![CDATA[控制Enter按键的使用<br>1.在语言块中使用<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_30_127_Open_Image onclick="this.style.display='none'; Codehighlighter1_30_127_Open_Text.style.display='none'; Codehighlighter1_30_127_Closed_Image.style.display='inline'; Codehighlighter1_30_127_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_30_127_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_127_Closed_Text.style.display='none'; Codehighlighter1_30_127_Open_Image.style.display='inline'; Codehighlighter1_30_127_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">language</span><span style="COLOR: #0000ff">="javascript"</span><span style="COLOR: #0000ff">&gt;</span><span id=Codehighlighter1_30_127_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_30_127_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;handle()<br><img id=Codehighlighter1_49_98_Open_Image onclick="this.style.display='none'; Codehighlighter1_49_98_Open_Text.style.display='none'; Codehighlighter1_49_98_Closed_Image.style.display='inline'; Codehighlighter1_49_98_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_49_98_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_49_98_Closed_Text.style.display='none'; Codehighlighter1_49_98_Open_Image.style.display='inline'; Codehighlighter1_49_98_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_49_98_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_49_98_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(event.keyCode</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">13</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br><img id=Codehighlighter1_75_96_Open_Image onclick="this.style.display='none'; Codehighlighter1_75_96_Open_Text.style.display='none'; Codehighlighter1_75_96_Closed_Image.style.display='inline'; Codehighlighter1_75_96_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_75_96_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_75_96_Closed_Text.style.display='none'; Codehighlighter1_75_96_Open_Image.style.display='inline'; Codehighlighter1_75_96_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_75_96_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_75_96_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.close();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>document.onkeydown</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">handle;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span></div>
<br>2.在body的使用<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&#8230;&#8230;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="back-groundcolor:white;margin-left:20px;margin-right:20px;margin-top:10px;margin-bottom:0px"</span><span style="COLOR: #ff0000">&nbsp;onkeydown</span><span style="COLOR: #0000ff">="if&nbsp;(window.event.keyCode==13)self.close();"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&#8230;&#8230;</span></div>
<br>3.在form标签中使用<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&#8230;&#8230;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">form&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="form1"</span><span style="COLOR: #ff0000">&nbsp;onkeydown&nbsp;</span><span style="COLOR: #0000ff">=&nbsp;"if&nbsp;(window.event.keyCode&nbsp;==&nbsp;13)confirmClick('save');"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&#8230;&#8230;</span></div>
<p><br>ENTER键可以让光标移到下一个输入框 <br>&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9" &gt; &lt;br&gt;</p>
<p>只能是中文&lt;input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;</p>
<p>屏蔽输入法&lt;input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;</p>
<p>只能输入英文和数字&lt;input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" onkeydown="if(event.keyCode==13)event.keyCode=9"&gt; &lt;br&gt;</p>
<p>只能是数字&lt;input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"&gt;&lt;br&gt;</p>
<p>只能显示，不能修改&lt;input readonly value="只能显示，不能修改"&gt;</p>
<img src ="http://www.blogjava.net/kxx129/aggbug/67777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kxx129/" target="_blank">泰仔在线</a> 2006-09-05 12:39 <a href="http://www.blogjava.net/kxx129/archive/2006/09/05/67777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>