﻿<?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/yzzh9/category/34924.html</link><description>思想大于技术......
惟仁者为能以大事小,惟智者为能以小事大：
Java之路——专注，研究，思考，总结
</description><language>zh-cn</language><lastBuildDate>Sat, 01 Nov 2008 12:04:04 GMT</lastBuildDate><pubDate>Sat, 01 Nov 2008 12:04:04 GMT</pubDate><ttl>60</ttl><item><title>activeElement</title><link>http://www.blogjava.net/yzzh9/archive/2008/10/29/237474.html</link><dc:creator>999</dc:creator><author>999</author><pubDate>Wed, 29 Oct 2008 13:26:00 GMT</pubDate><guid>http://www.blogjava.net/yzzh9/archive/2008/10/29/237474.html</guid><wfw:comment>http://www.blogjava.net/yzzh9/comments/237474.html</wfw:comment><comments>http://www.blogjava.net/yzzh9/archive/2008/10/29/237474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yzzh9/comments/commentRss/237474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yzzh9/services/trackbacks/237474.html</trackback:ping><description><![CDATA[
		<div style="FLOAT: right" align="right">
				<a title="评分 0" href="http://bbs.51js.com/misc.php?action=viewratings&amp;tid=74860&amp;pid=534783">
				</a>
		</div>
		<p>
				<span class="bold">按回车时判断焦点是否在 input 中<br />&lt;body&gt;</span>
		</p>
		<p>
				<span class="bold">&lt;input type="text" id="ainput" /&gt;</span>
		</p>
		<p>
				<span class="bold">&lt;script type="text/javascript"&gt;</span>
		</p>
		<p>
				<span class="bold">var isie = /msie/i.test(navigator.userAgent);<br />var ainput = document.getElementById("ainput");</span>
		</p>
		<p>
				<span class="bold">function isActiveElement(obj){<br /> return obj == document.activeElement;<br />}</span>
		</p>
		<p>
				<span class="bold">document.onmousedown = function (e){<br /> var target = (e = e || event).srcElement || e.target;<br /> if (!isie) document.activeElement = target;<br />}</span>
		</p>
		<p>
				<span class="bold">document.onkeydown = function (e){<br /> var keyCode = (e || event).keyCode;<br /> if (keyCode == 13){<br />  window.alert(isActiveElement(ainput));<br /> }<br />}</span>
		</p>
		<p>
				<span class="bold">&lt;/script&gt;</span>
		</p>
<img src ="http://www.blogjava.net/yzzh9/aggbug/237474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yzzh9/" target="_blank">999</a> 2008-10-29 21:26 <a href="http://www.blogjava.net/yzzh9/archive/2008/10/29/237474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：JAVASCRIPT----用脚本实现表单的分向提交</title><link>http://www.blogjava.net/yzzh9/archive/2008/10/06/232755.html</link><dc:creator>999</dc:creator><author>999</author><pubDate>Mon, 06 Oct 2008 12:41:00 GMT</pubDate><guid>http://www.blogjava.net/yzzh9/archive/2008/10/06/232755.html</guid><wfw:comment>http://www.blogjava.net/yzzh9/comments/232755.html</wfw:comment><comments>http://www.blogjava.net/yzzh9/archive/2008/10/06/232755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yzzh9/comments/commentRss/232755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yzzh9/services/trackbacks/232755.html</trackback:ping><description><![CDATA[
		<font size="2">来源：<a href="http://blog.csdn.net/freeknightlcw/archive/2005/01/18/257428.aspx">http://blog.csdn.net/freeknightlcw/archive/2005/01/18/257428.aspx</a><br />在某些情况下，我们希望同一个表单可以根据用户的选择，提交给不同的后台处理程序。即，表单的分向提交。如，在编写论坛程序时，如果我们希望实现用户在发送贴子的时候，既发送提交功能又有预览功能时，就会遇到上述问题。即，当用户点击提交按钮时，我们希望表单提交给"提交"处理程序；而当用户点击预览按钮时，我们希望表单提交给"预览"处理程序。那么，如何实现上述功能呢？下面代码可以很好的解决这个问题。  <br />&lt;form name="form" method="post"&gt;<br /> 测试表单:&lt;input name="test"&gt;&lt;br&gt;<br /> &lt;input type="button" value="提交" onClick=send()&gt;<br />&lt;input type="button" value="预览" onClick=preview()&gt;<br />&lt;/form&gt;<br />&lt;script language=javascript&gt;<br />function send()<br />  {<br />    document.form.action="send.asp"<br />    document.form.submit()<br />   }<br />function preview()<br />   {<br />     document.form.action="preview.asp"<br />     document.form.submit()<br />   }<br />&lt;/script&gt;<br /><br />         </font>
		<script language="javascript"><![CDATA[
function send()
  {
    document.form.action="send.asp"
    document.form.submit()
   }
function preview()
   {
     document.form.action="preview.asp"
     document.form.submit()
   }
]]&gt;</script>
		<font size="2">关于上面实例的两点说明： <br />        1、在整个表单中，不应有名字为action或submit的标签，否则将会产生"对象不支持此属性和方法"的错误。如代码 "&lt;input type='xxxx' name='action' &gt;"</font>
		<font size="2">在表单中是不允许出现的； <br />        2、在form标签中应该存在name属性。即，应该给表单取一个名字。语句document.form.action和document.form.submit中的"form"也就是表单的名字。<br />        表单的分向提交不仅仅使用在论坛的程序中，它还可以运用在许多场合下。恰当的运用表单的分向提交功能可以大大的增强网站的人性化程度。</font>
<img src ="http://www.blogjava.net/yzzh9/aggbug/232755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yzzh9/" target="_blank">999</a> 2008-10-06 20:41 <a href="http://www.blogjava.net/yzzh9/archive/2008/10/06/232755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript中return false的作用</title><link>http://www.blogjava.net/yzzh9/archive/2008/10/06/232754.html</link><dc:creator>999</dc:creator><author>999</author><pubDate>Mon, 06 Oct 2008 12:32:00 GMT</pubDate><guid>http://www.blogjava.net/yzzh9/archive/2008/10/06/232754.html</guid><wfw:comment>http://www.blogjava.net/yzzh9/comments/232754.html</wfw:comment><comments>http://www.blogjava.net/yzzh9/archive/2008/10/06/232754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yzzh9/comments/commentRss/232754.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yzzh9/services/trackbacks/232754.html</trackback:ping><description><![CDATA[当函数要作为事件处理代码，事件处理代码如果return了一个false，会取消事件，不再继续向下执行。比如mouseDown事件处理以后，如果return了false，鼠标按下的其它事情（比如打开链接）就被取消了。<img src ="http://www.blogjava.net/yzzh9/aggbug/232754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yzzh9/" target="_blank">999</a> 2008-10-06 20:32 <a href="http://www.blogjava.net/yzzh9/archive/2008/10/06/232754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SendKeys：模仿键盘事件</title><link>http://www.blogjava.net/yzzh9/archive/2008/10/06/232747.html</link><dc:creator>999</dc:creator><author>999</author><pubDate>Mon, 06 Oct 2008 12:11:00 GMT</pubDate><guid>http://www.blogjava.net/yzzh9/archive/2008/10/06/232747.html</guid><wfw:comment>http://www.blogjava.net/yzzh9/comments/232747.html</wfw:comment><comments>http://www.blogjava.net/yzzh9/archive/2008/10/06/232747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yzzh9/comments/commentRss/232747.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yzzh9/services/trackbacks/232747.html</trackback:ping><description><![CDATA[
		<p>通过SendKeys可以模拟键盘事件<br />&lt;body&gt;<br />  &lt;div&gt;&lt;a  href="<a href="http://www.163.com">#</a>" onfocus="onblurpre()"&gt;999&lt;/a&gt;&lt;/div&gt;&lt;/body&gt;<br />&lt;/html&gt;<br />&lt;script  type="text/javascript"&gt;<br /> function onblurpre() { <br />     var   wsh=new   ActiveXObject("wscript.shell")  ; <br />    wsh.sendKeys("{CAPSLOCK}");   <br />    }<br />&lt;/script&gt;<br /><br /><br /><br /><br /><br /><br />以下为摘抄：<br /></p>
		<h1 class="dtH1" align="left">
				<a name="wsmthsendkeys">
				</a>
				<font color="#000000" size="3">SendKeys 方法</font>
		</h1>
		<!--NONSCROLLING BANNER END-->
		<p valign="bottom">将一个或多个键击发送到活动窗口（仿佛是在键盘上击键一样）。<br /></p>
		<div align="left">
				<pre class="syntax">
						<em>object</em>.<b>SendKeys</b>(<i>string)</i><br /><br /><br />参数</pre>
		</div>
		<div valign="bottom">
				<dl>
						<dt>
								<i>object</i>
						</dt>
						<dd>WshShell 对象。 
</dd>
						<dt>
								<i>string</i>
						</dt>
						<dd>表示要发送的键击（一个或多个）的字符串值。 </dd>
				</dl>
		</div>
		<h4 class="dtH4">说明</h4>
		<p>使用 SendKeys 方法可以将键击发送到无自动化界面的应用程序中。多数键盘字符都可用一个键击表示。某些键盘字符由多个键击组合而成（例如，CTRL+SHIFT+HOME）。要发送单个键盘字符，请将字符本身作为 <i>string</i> 参数发送。例如，要发送字母 x，则请发送 <i>string</i> 参数 "x"。</p>
		<blockquote class="dtBlock">
				<b class="le">注意</b>   要发送空格，则请发送字符串 " "。</blockquote>
		<p>可使用 SendKeys 同时发送多个键击。为此，可将每个键击按顺序排列在一起，以此来创建表示一系列键击的复合字符串参数。例如，要发送键击 a、b 和 c，则需要发送字符串参数 "abc"。SendKeys 方法将某些字符用作字符的修饰符（而不使用其本身的含义）。这组特殊的字符可包括圆括号、中括号、大括号，以及： </p>
		<ul type="disc">
				<li>加号       "+"、 
</li>
				<li>插入记号             "^"、 
</li>
				<li>百分号 "%"、 
</li>
				<li>和“非”符号       "~"。 </li>
		</ul>
		<p>用大括号 "{}" 括起这些字符可以发送它们。例如，要发送加号，请使用字符串参数 "{+}"。SendKeys中使用的中括号 "[ ]" 无任何特殊含义，但是必须把它们括在大括号中，以便容纳确实要赋予其特殊含义的应用程序（例如，对于动态数据交换 (DDE) 就是这样）。 </p>
		<ul type="disc">
				<li>要发送左中括号字符，请发送字符串参数 "{[]"；要发送右中括号字符，请发送字符串参数 "{]}"。 
</li>
				<li>要发送左大括号字符，请发送字符串参数 "{{}"；要发送右大括号字符，请发送字符串参数 "{}}"。 </li>
		</ul>
		<p>某些键击不生成字符（如 ENTER 和 TAB）。某些键击表示操作（如 BACKSPACE 和 BREAK）。要发送这些类型的键击，请发送下表中列出的参数：</p>
		<div class="tablediv">
				<table class="dtTABLE" cellspacing="0">
						<tbody>
								<tr valign="top">
										<th width="39%">键</th>
										<th width="61%">参数</th>
								</tr>
								<tr valign="top">
										<td width="39%">退格键</td>
										<td width="61%">{BACKSPACE}、{BS} 或 {BKSP}</td>
								</tr>
								<tr valign="top">
										<td width="39%">BREAK</td>
										<td width="61%">{BREAK}</td>
								</tr>
								<tr valign="top">
										<td width="39%">CAPS LOCK</td>
										<td width="61%">{CAPSLOCK}</td>
								</tr>
								<tr valign="top">
										<td width="39%">DEL 或 DELETE</td>
										<td width="61%">{DELETE} 或 {DEL}</td>
								</tr>
								<tr valign="top">
										<td width="39%">向下键</td>
										<td width="61%">{DOWN}</td>
								</tr>
								<tr valign="top">
										<td width="39%">END</td>
										<td width="61%">{END}</td>
								</tr>
								<tr valign="top">
										<td width="39%">ENTER</td>
										<td width="61%">{ENTER} 或 ~</td>
								</tr>
								<tr valign="top">
										<td width="39%">ESC</td>
										<td width="61%">{ESC}</td>
								</tr>
								<tr valign="top">
										<td width="39%">HELP</td>
										<td width="61%">{HELP}</td>
								</tr>
								<tr valign="top">
										<td width="39%">HOME</td>
										<td width="61%">{HOME}</td>
								</tr>
								<tr valign="top">
										<td width="39%">INS 或 INSERT</td>
										<td width="61%">{INSERT} 或 {INS}</td>
								</tr>
								<tr valign="top">
										<td width="39%">向左键</td>
										<td width="61%">{LEFT}</td>
								</tr>
								<tr valign="top">
										<td width="39%">NUM LOCK</td>
										<td width="61%">{NUMLOCK}</td>
								</tr>
								<tr valign="top">
										<td width="39%">PAGE DOWN</td>
										<td width="61%">{PGDN}</td>
								</tr>
								<tr valign="top">
										<td width="39%">PAGE UP</td>
										<td width="61%">{PGUP}</td>
								</tr>
								<tr valign="top">
										<td width="39%">PRINT SCREEN</td>
										<td width="61%">{PRTSC}</td>
								</tr>
								<tr valign="top">
										<td width="39%">向右键</td>
										<td width="61%">{RIGHT}</td>
								</tr>
								<tr valign="top">
										<td width="39%">SCROLL LOCK</td>
										<td width="61%">{SCROLLLOCK}</td>
								</tr>
								<tr valign="top">
										<td width="39%">TAB</td>
										<td width="61%">{TAB}</td>
								</tr>
								<tr valign="top">
										<td width="39%">向上键</td>
										<td width="61%">{UP}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F1</td>
										<td width="61%">{F1}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F2</td>
										<td width="61%">{F2}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F3</td>
										<td width="61%">{F3}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F4</td>
										<td width="61%">{F4}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F5</td>
										<td width="61%">{F5}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F6</td>
										<td width="61%">{F6}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F7</td>
										<td width="61%">{F7}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F8</td>
										<td width="61%">{F8}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F9</td>
										<td width="61%">{F9}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F10</td>
										<td width="61%">{F10}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F11</td>
										<td width="61%">{F11}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F12</td>
										<td width="61%">{F12}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F13</td>
										<td width="61%">{F13}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F14</td>
										<td width="61%">{F14}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F15</td>
										<td width="61%">{F15}</td>
								</tr>
								<tr valign="top">
										<td width="39%">F16</td>
										<td width="61%">{F16}</td>
								</tr>
						</tbody>
				</table>
		</div>
		<p>要发送由常规键击和 SHIFT、CTRL 或 ALT 组合而成的键盘字符，请创建表示该键击组合的复合字符串参数。可通过在常规键击之前添加一个或多个以下特殊字符来完成上述操作：</p>
		<div class="tablediv">
				<table class="dtTABLE" cellspacing="0">
						<tbody>
								<tr valign="top">
										<th width="39%">键</th>
										<th width="61%">特殊字符</th>
								</tr>
								<tr valign="top">
										<td width="39%">SHIFT</td>
										<td width="61%">+</td>
								</tr>
								<tr valign="top">
										<td width="39%">CTRL</td>
										<td width="61%">^</td>
								</tr>
								<tr valign="top">
										<td width="39%">ALT</td>
										<td width="61%">%</td>
								</tr>
						</tbody>
				</table>
		</div>
		<blockquote class="dtBlock">
				<b>
						<b class="le">注意</b>   </b>这样使用时，不用大括号括起这些特殊字符。</blockquote>
		<p>要指定在按下多个其他键时，按下 SHIFT、CTRL 和 ALT 的组合，请创建复合字符串参数，用括号括起其中的组合键。例如，要发送的组合键指定： </p>
		<ul type="disc">
				<li>如果在按 e 和 c 的同时按 SHIFT 键，则发送字符串参数 "+(ec)"。 
</li>
				<li>如果在按 e 时只按 c（而不按 SHIFT），则发送字符串参数 "+ec"。 </li>
		</ul>
		<p>可使用 SendKeys 方法发送一种在一行内重复按键的键击。为此，要创建复合字符串参数，以指定要重复的键击，并在其后指定重复次数。可使用 {<i>键击 数字</i>} 形式的复合字符串参数来完成上述操作。例如，如果要发送 10 次 "x"，则需要发送字符串参数 "{x 10}"。请确保在键击和数字之间有一个空格。</p>
		<blockquote class="dtBlock">
				<b>
						<b class="le">注意</b>   </b>只可以发送重复按一个键的键击。例如，可以发送 10 次 "x"，但不可发送 10 次 "Ctrl+x"。</blockquote>
		<blockquote class="dtBlock">
				<b>
						<b class="le">注意</b>   </b>不能向应用程序发送 PRINT SCREEN 键 {PRTSC}。</blockquote>
		<h4 class="dtH4">示例</h4>
		<p>下面的示例演示如何将一个 .wsf 文件用于以不同脚本语言（VBScript 和 Jscript）写成的两个作业。每个作业都运行 Windows 计算器并将它发送给键击以执行简单的计算。</p>
		<pre class="code">&lt;package&gt;
   &lt;job id="vbs"&gt;
      &lt;script language="VBScript"&gt;
         set WshShell = WScript.CreateObject("WScript.Shell")
         WshShell.Run "calc"
         WScript.Sleep 100
         WshShell.AppActivate "Calculator"
         WScript.Sleep 100
         WshShell.<code><b class="cfe">SendKeys</b></code> "1{+}"
         WScript.Sleep 500
         WshShell.<code><b class="cfe">SendKeys</b></code> "2"
         WScript.Sleep 500
         WshShell.<code><b class="cfe">SendKeys</b></code> "~"
         WScript.Sleep 500
         WshShell.<code><b class="cfe">SendKeys</b></code> "*3"
         WScript.Sleep 500
         WshShell.<code><b class="cfe">SendKeys</b></code> "~"
         WScript.Sleep 2500
      &lt;/script&gt;
   &lt;/job&gt;

   &lt;job id="js"&gt;
      &lt;script language="JScript"&gt;
         var WshShell = WScript.CreateObject("WScript.Shell");
         WshShell.Run("calc");
         WScript.Sleep(100);
         WshShell.AppActivate("Calculator");
         WScript.Sleep(100);
         WshShell.<code><b class="cfe">SendKeys </b></code>("1{+}");
         WScript.Sleep(500);
         WshShell.<code><b class="cfe">SendKeys</b></code>("2");
         WScript.Sleep(500);
         WshShell.<code><b class="cfe">SendKeys</b></code>("~");
         WScript.Sleep(500);
         WshShell.<code><b class="cfe">SendKeys</b></code>("*3");
         WScript.Sleep(500);
         WshShell.<code><b class="cfe">SendKeys</b></code>("~");
         WScript.Sleep(2500);
      &lt;/script&gt;
   &lt;/job&gt;
&lt;/package&gt;</pre>
<img src ="http://www.blogjava.net/yzzh9/aggbug/232747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yzzh9/" target="_blank">999</a> 2008-10-06 20:11 <a href="http://www.blogjava.net/yzzh9/archive/2008/10/06/232747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>