﻿<?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--随笔分类-jquery(进去而已)</title><link>http://www.blogjava.net/leekiang/category/29462.html</link><description>MDA/MDD/TDD/DDD/DDDDDDD</description><language>zh-cn</language><lastBuildDate>Sun, 11 Mar 2012 01:29:30 GMT</lastBuildDate><pubDate>Sun, 11 Mar 2012 01:29:30 GMT</pubDate><ttl>60</ttl><item><title>slideViewer</title><link>http://www.blogjava.net/leekiang/archive/2012/03/11/371659.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 10 Mar 2012 19:00:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2012/03/11/371659.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/371659.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2012/03/11/371659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/371659.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/371659.html</trackback:ping><description><![CDATA[slideViewer：http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html<br />slideViewerPro：Prohttp://www.gcmingati.net/wordpress/wp-content/lab/jquery/svwt/index.html<br /><br />slideViewerPro使用配置说明 http://www.oschina.net/p/slideviewerpro<br /><br /><br /><a href="http://stackoverflow.com/questions/1009315/can-i-make-the-jquery-slideviewer-autoplay">Can I make the Jquery slideViewer autoplay?</a><br /><pre class="default prettyprint"><code><span class="tag">&lt;script</span><span class="pln"></span><span class="atn">type</span><span class="pun">=</span><span class="atv">"text/javascript"</span><span class="tag">&gt;</span><span class="pln"><br /></span><span class="kwd">var</span><span class="pln"> theLinks</span><span class="pun">;</span><span class="pln"><br /></span><span class="kwd">var</span><span class="pln"> nCount </span><span class="pun">=</span><span class="pln"></span><span class="lit">0</span><span class="pun">;</span><span class="pln"><br /></span><span class="kwd">var</span><span class="pln"> theTimerID</span><span class="pun">;</span><span class="pln"><br /><br /></span><span class="kwd">function</span><span class="pln"> init</span><span class="pun">(){</span><span class="pln"><br />    $</span><span class="pun">(</span><span class="str">"div#mygalone"</span><span class="pun">).</span><span class="pln">slideView</span><span class="pun">();</span><span class="pln"><br />    theLinks </span><span class="pun">=</span><span class="pln"> jQuery</span><span class="pun">(</span><span class="str">'#stripTransmitter0 a'</span><span class="pun">);</span><span class="pln"><br /><br />        </span><span class="com">//for kill interval purposes</span><span class="pln"><br />    theTimerID </span><span class="pun">=</span><span class="pln"> setInterval</span><span class="pun">(</span><span class="str">"autoSlide()"</span><span class="pun">,</span><span class="pln"></span><span class="lit">5000</span><span class="pun">);</span><span class="pln"><br /></span><span class="pun">}</span><span class="pln"><br /></span><span class="kwd">function</span><span class="pln"> autoSlide</span><span class="pun">(){</span><span class="pln"><br />    jQuery</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="pln">theLinks</span><span class="pun">,</span><span class="pln"></span><span class="kwd">function</span><span class="pun">(</span><span class="pln">i</span><span class="pun">){</span><span class="pln"><br />        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">jQuery</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">'current'</span><span class="pun">)){</span><span class="pln"><br />            jQuery</span><span class="pun">(</span><span class="pln">theLinks</span><span class="pun">[((</span><span class="pln">i</span><span class="pun">+</span><span class="lit">1</span><span class="pln"></span><span class="pun">&lt;</span><span class="pln"> theLinks</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"></span><span class="pun">?</span><span class="pln"></span><span class="pun">(</span><span class="pln">i</span><span class="pun">+</span><span class="lit">1</span><span class="pun">)</span><span class="pln"></span><span class="pun">:</span><span class="pln"></span><span class="lit">0</span><span class="pun">)]</span><span class="pln"></span><span class="pun">).</span><span class="pln">trigger</span><span class="pun">(</span><span class="str">"click"</span><span class="pun">);</span><span class="pln"><br />            </span><span class="kwd">return</span><span class="pln"></span><span class="kwd">false</span><span class="pun">;</span><span class="pln"><br />        </span><span class="pun">}</span><span class="pln"><br />    </span><span class="pun">});</span><span class="pln"><br /></span><span class="pun">}</span><span class="pln"><br /><br />$</span><span class="pun">(</span><span class="pln">window</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"load"</span><span class="pun">,</span><span class="pln"> init </span><span class="pun">);</span><span class="pln"><br /></span><span class="tag">&lt;/script&gt;<br /><br /></span></code></pre><p>The way I see it you basically have 3 options here:</p><p><strong>(1)</strong> - Use slideViewPro, but disable thumbnails using the <code>thumbsVis:false</code> option as shown below</p><code><span class="pln">$</span><span class="pun">(</span><span class="str">"div#noui"</span><span class="pun">).</span><span class="pln">slideViewerPro</span><span class="pun">({</span><span class="pln"><br />    galBorderWidth</span><span class="pun">:</span><span class="pln"></span><span class="lit">0</span><span class="pun">,</span><span class="pln"><br />    autoslide</span><span class="pun">:</span><span class="pln"></span><span class="kwd">true</span><span class="pun">,</span><span class="pln">  <br />    thumbsVis</span><span class="pun">:</span><span class="pln"></span><span class="kwd">false</span><span class="pun">,</span><span class="pln"><br />    shuffle</span><span class="pun">:</span><span class="pln"></span><span class="kwd">true</span><span class="pln"><br /> </span><span class="pun">});</span><span class="pln"><br /></span></code><p><strong>(2)</strong> - Switch to using the <strong><a href="http://malsup.com/jquery/cycle/" rel="nofollow">jQuery cycle plug-in</a></strong> instead</p><p><strong>(3)</strong> - Edit the source code of original <code>slideViewer</code> and add your own <code>autoslide</code> implementation by using timers and firing the click event on the navigation.</p><pre class="default prettyprint"><br /></pre><br /><img src ="http://www.blogjava.net/leekiang/aggbug/371659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2012-03-11 03:00 <a href="http://www.blogjava.net/leekiang/archive/2012/03/11/371659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jQuery Fundamentals,很棒的在线教程</title><link>http://www.blogjava.net/leekiang/archive/2010/10/29/336499.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 29 Oct 2010 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/10/29/336499.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/336499.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/10/29/336499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/336499.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/336499.html</trackback:ping><description><![CDATA[http://jqfundamentals.com/book/<img src ="http://www.blogjava.net/leekiang/aggbug/336499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-10-29 17:16 <a href="http://www.blogjava.net/leekiang/archive/2010/10/29/336499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多文件上传</title><link>http://www.blogjava.net/leekiang/archive/2010/02/02/311732.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 02 Feb 2010 14:57:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/02/02/311732.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/311732.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/02/02/311732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/311732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/311732.html</trackback:ping><description><![CDATA[
		<a target="_blank" href="http://code.google.com/p/jquery-transmit/">jquery-transmit</a>:<br />jQuery Multi-file Uploader with Flash<img src ="http://www.blogjava.net/leekiang/aggbug/311732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-02-02 22:57 <a href="http://www.blogjava.net/leekiang/archive/2010/02/02/311732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅析jQuery框架与构造对象(转)</title><link>http://www.blogjava.net/leekiang/archive/2009/10/08/297473.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 08 Oct 2009 13:53:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/10/08/297473.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/297473.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/10/08/297473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/297473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/297473.html</trackback:ping><description><![CDATA[转自http://developer.51cto.com/art/200907/139005.htm<br /><br />这是一些分析jQuery框架的文字
<p>    针对jQuery 1.3.2版本</p><p>    面向的读者应具备以下要求</p><p>    1.非常熟悉HTML</p><p>    2.非常熟悉javascript语法知识</p><p>    3.熟悉javascript面向对象方面的知识</p><p>    4.熟练使用jQuery框架</p><p>    言归正传！</p><p>    jQuery对象的初始化是写在匿名函数里的</p><p>    就像这样：</p><p>    （function（）{alert（"jQuery框架分析"）}）（）；</p><p>   
第一个括号是声明了一个函数，第二个括号是执行这个函数。也就是说，jQuery框架在页面载入的时候已经做了一些事情（这个个匿名函数已经被执行了）。
做的这些事情使我们可以通过$（"#yourId"）或$（".yourClass"）等方式获取页面元素，并把获取到的元素包装成jQuery对象。</p><p>    匿名函数是怎么实现这些功能的呢？</p><p>    首先框架定义了两个核心对象</p><p>    jQuery = window.jQuery = window.$ = function（ selector， context ） {}</p><p>    一个是jQuery</p><p>    一个是$</p><p>    这两个对象都指向一个函数</p><p>    这个函数是我们使用$（）或jQuery（）方法时的入口，这个方法返回一个jQuery.fn.init（ selector， context ）；的实例，其实这个实例是一个jQuery对象。</p><p>    jQuery对象是一个什么样的对象呢？</p><p>    jQuery对象其实是一个javascript的数组</p><p>    这个数组对象包含125个方法和4个属性</p><p>    4个属性分别是</p><p>    jQuery     当前的jQuery框架版本号</p><p>    length     指示该数组对象的元素个数</p><p>    context    一般情况下都是指向HtmlDocument对象</p><p>    selector   传递进来的选择器内容  如：#yourId或。yourClass等</p><p>   
如果你通过$（"#yourId"）方法获取jQuery对象，并且你的页面中只有一个id为yourId的元素那么$（"#yourId"）[0]就是
HtmlElement元素与document.getElementById（"yourId"）获取的元素是一样的</p><p><strong>jQuery对象是怎么构造出来的呢？</strong></p><p>    这个对象就是刚才我们提到的</p><p>    jQuery = window.jQuery = window.$ = function（ selector， context ） {}</p><p>    框架不只为此对象定义了一个方法，还定义了它的原型（prototype）</p><p>    jQueryjQuery.fn = jQuery.prototype = {//此处为json对象}</p><p>    原型的定义是通过json对象定义的</p><p>    如</p><p>    {</p><p>    init： function（ selector， context ） {//方法体}，</p><p>    jQuery： "1.3.2"，//属性</p><p>    size： function（） {//方法体}，</p><p>    //……</p><p>    }</p><p>    前面提到的125个方法4个属性有一部分在这个json对象中完成定义的
这个json对象中第一个方法就是init方法也就是入口方法中的jQuery.fn.init（ selector， context
）；此方法与一个正则表达式对象配合来构造jQuery对象</p><p>    这个正则表达式为：</p><p>    quickExpr = /^[^&lt;]*（&lt;（。|\s）+&gt;）[^&gt;]*$|^#（[\w-]+）$/</p><p>    下面我们说一下init方法的实现逻辑</p><p>    此方法有两个参数</p><p>    一个是selector（选择器）</p><p>    一个是context（上下文）</p><p>    selector就是我们用$（"#yourId"）或jQuery（".yourClass"）传递进来的变量</p><p>    这个参数不一定是字符串，也可能是其他形式的变量</p><p>    等会儿我们就会介绍到</p><p>    context参数我们在使用jQuery的时候很少用到，暂且不表</p><p>    注意这两个参数都在返回的jQuery对象中体现出来了（以两个同名的属性展示）</p><p>    下面看一下这个方法体内部的实现逻辑</p><p>  //如果没有选择器或者选择器为空的话，就把document对象赋值给他<br />selector = selector || document;<br />//如果selector参数是dom元素，直接返回jQuery对象<br />//也就是说你可以$(document.getElementById("allen"))把你的元素封装成jQuery对象<br />if ( selector.nodeType ) {<br />this[0] = selector;<br />this.length = 1;<br />this.context = selector;<br />return this;<br />}<br />//typeof 取对象的类型，用三个等号效率较高， 不需要类型转换，两个等号默认有类型转换<br />if ( typeof selector === "string" ) {<br />//这里用到了我们前面提到的正则表达式quickExpr<br />//match其实是一个数组<br />//第0个元素是与正则表达式相匹配的文本<br />//第1个元素是与正则表达式的第1个子表达式相匹配的文本（如果有的话）<br />//第2个元素是第2个子表达式相匹配的文本（如果有的话）<br />//第3个元素是第3个子表达式相匹配的文本（如果有的话）这里就是元素的ID，不包含#<br />var match = quickExpr.exec( selector );<br />//正则表达式匹配到了内容   并且 match[1]不为空 或者 context为空<br />//match[1]不为空的时候selector是HTML字符串，也就是你可以用$("<br />xland<br />")把对象包装成jQuery对象<br />//context为空的时候selector是页面元素ID<br />if ( match &amp;&amp; (match[1] || !context) ) {<br /> //选择器为html字符串  此情况暂且不表<br />if ( match[1] ){<br />selector = jQuery.clean( [ match[1] ], context );}<br />//选择器为ID<br />else {<br />//得到元素<br />var elem = document.getElementById( match[3] );<br /> //如果得到了这个元素但是元素的ID属性不是match[3]，跳入分支。分支里面的东西做了什么工作，暂且不表<br />if ( elem &amp;&amp; elem.id != match[3] ){<br />return jQuery().find( selector );}<br />//把得到的页面元素封装成jQuery对象<br />//如果elem为空，就传入一个空数组，框架怎么处理此空数组，暂且不表<br />//如果不为空就跳入我们前面说的if ( selector.nodeType )分支，构造出jQuery对象来<br />var ret = jQuery( elem || [] );<br /> //设置jQuery对象的context属性<br />ret.context = document;<br /> //设置jQuery对象的selector属性<br />ret.selector = selector;<br /> //返回这个对象给调用者<br />return ret;<br />}</p><p>至此
</p><p>    var obj = $（“#yourId”）；</p><p>    构造jQuery对象的初步工作就做完了</p><p><br /></p><br /><img src ="http://www.blogjava.net/leekiang/aggbug/297473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-10-08 21:53 <a href="http://www.blogjava.net/leekiang/archive/2009/10/08/297473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax跨域调用及jsonp</title><link>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 18 Jul 2009 17:48:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/287296.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/287296.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/287296.html</trackback:ping><description><![CDATA[
		<p>Ajax的应用中，由于安全的问题，浏览器默认是不支持跨域调用的。传统解决的方法，包括：（参考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/）</p>
		<dl>
				<dt>Local proxy: 
</dt>
				<dd>Needs infrastructure (can't run a serverless client) and you
get double-taxed on bandwidth and latency (remote - proxy - client). </dd>
				<dt>Flash: 
</dt>
				<dd>Remote host needs to deploy a crossdomain.xml file, Flash is
relatively proprietary and opaque to use, requires learning a one-off
moving target programming langage. </dd>
				<dt>Script tag: 
</dt>
				<dd>Difficult to know when the content is available, no standard methodology, can be considered a "security risk". </dd>
		</dl>
		<p>以上方法都各有缺陷，都不是很好多解决方案。后来出现了一种叫<em>JSON with Padding</em> 的技术，简称 <strong>JSONP</strong>
.（原理参考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/），应
用JSONP可以实现JSON数据的跨域调用。非常的幸运，JQuery1.2以后支持JSONP的应用。下面侧重说明在JQuery中，Json的跨域
调用。</p>
		<p>      应用JSONP实现Json数据跨域调用，需要服务器端与客户端的合作完成。引用Jquery官方的例子，客户端掉用如下：</p>
		<pre>$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&amp;tagmode=any&amp;format=json&amp;jsoncallback=?",<br />        function(data){<br />          $.each(data.items, function(i,item){<br />            $("&lt;img/&gt;").attr("src", item.media.m).appendTo("#images");<br />            if ( i == 3 ) return false;<br />          });<br />        });<br /></pre>
		<p> </p>
		<p>   
注意这里调用的地址中jsoncallback=?是关键的所在！其中，符号会被Query自动替换成其他的回调方法的名称，具体过程和原理我们这里不理
会。我们关心的是jsoncallback=?起什么作用了？原来jsoncallback=?被替换后，会把方法名称传给服务器。我们在服务器端要做什
么工作呢？服务器要接受参数jsoncallback，然后把jsoncallback的值作为JSON数据方法名称返回，比如服务器是JSP,我们会这
样做：</p>
		<p> </p>
		<p>      ...</p>
		<p>      String jsoncallback=request.getParameter("jsoncallback");</p>
		<p>      ...</p>
		<p>      out.print(jsoncallback+"({\"account\":\"XX\",\"passed\":\"true\",\"error\":\"null\"})");</p>
		<p> </p>
		<p>Jquery取得的数据可能如下：</p>
		<p>      JQUET0988788({"account":"XX","passed":"true","error":"null"})</p>
		<p> </p>
		<p>总结，用JSONP要做两件事：</p>
		<p>      1/请求地址加参数：jsoncallback=?</p>
		<p>      2/服务器段把jsoncallback的值作为方法名传回来，如JQUET098788(...)</p>
		<p>参考：</p>
		<p>http://www.javaeye.com/topic/169765</p>
		<p>http://www.javaeye.com/topic/260647<br /></p>
<img src ="http://www.blogjava.net/leekiang/aggbug/287296.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-07-19 01:48 <a href="http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery与其他库的冲突及解决</title><link>http://www.blogjava.net/leekiang/archive/2009/06/11/281476.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 11 Jun 2009 06:50:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/06/11/281476.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/281476.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/06/11/281476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/281476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/281476.html</trackback:ping><description><![CDATA[
		<pre class="prettyprint">
				<code>
						<span class="str">
								<br />如果引入jquery后再引入</span>
				</code>Scriptaculous的<code><span class="str">effects.js</span></code>,就可能出现莫名其妙的问题。<br />jQuery("#id")正常，但类似于jQuery("name='test'")之类的查询就会出错。<br />原因是旧版本(1.5.1)的<code><span class="str">effects.js</span></code>里有代码污染了Array的call方法<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Array.prototype.call </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">() {<br />  </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> args </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> arguments;<br />  </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.each(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(f){ f.apply(</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">, args) });<br />}</span></div><br /><code><span class="str"></span><span class="pun"></span><span class="pln"><a href="http://www.nabble.com/jQuery-%2B-Prototype-on-newest-release-%281.2.6%29-td17811639s27240.html#a17811639">参考一</a><br /><a href="http://www.chentianwen.net/wordpress/2008/09/30/jquery-conflicts-with-effectsjs/">参考二</a><br />http://www.javaeye.com/topic/84683<br />http://www.javaeye.com/topic/184859<br /></span></code></pre>
<img src ="http://www.blogjava.net/leekiang/aggbug/281476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-06-11 14:50 <a href="http://www.blogjava.net/leekiang/archive/2009/06/11/281476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>json-lib.jar包使用笔记</title><link>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 11 Mar 2009 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/259204.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/259204.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/259204.html</trackback:ping><description><![CDATA[1，使用jdk1.3版本的json-lib.jar时依赖的包(不一定准确，只是作个记录)<br />commons-beanutils.jar;//必须是1.7以上<br />commons-collection.jar;//必须3.1以上<br />
ezmorph.jar;<img src ="http://www.blogjava.net/leekiang/aggbug/259204.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-03-11 19:59 <a href="http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何取消已经注册在input上的onfocus事件，以及unbind的问题</title><link>http://www.blogjava.net/leekiang/archive/2008/11/04/238677.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 04 Nov 2008 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/11/04/238677.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/238677.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/11/04/238677.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/238677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/238677.html</trackback:ping><description><![CDATA[遇到一个需求，需要根据当前页面的状态动态设置定义在input上的my97日期控件的onfocus事件是否启用。几经周折，才搞定。<br />对于已经写在input上的onfocus事件:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">input </span><span style="color: rgb(255, 0, 0);">type</span><span style="color: rgb(0, 0, 255);">="text"</span><span style="color: rgb(255, 0, 0);"> name</span><span style="color: rgb(0, 0, 255);">="finishtime"</span><span style="color: rgb(255, 0, 0);"> id</span><span style="color: rgb(0, 0, 255);">="finishtime"</span><span style="color: rgb(255, 0, 0);">  readonly</span><span style="color: rgb(0, 0, 255);">="readonly"</span><span style="color: rgb(255, 0, 0);"><br /> onfocus</span><span style="color: rgb(0, 0, 255);">=WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd </span><span style="color: rgb(255, 0, 0);">HH:mm'}) class</span><span style="color: rgb(0, 0, 255);">="Wdate"</span><span style="color: rgb(0, 0, 255);">&gt;</span></div>我用jquery的unbind函数死活都解决不了。<br />最后只能用IE的detachEvent来解决，而用这个detachEvent又有两个要注意的:<br />(1)detachEvent的事件必须是先前attachEvent的。<br />(2)函数不能带参数，故用了个自定义的无参的my97dp函数来中转。<br />真是搞不懂，又不能专门花时间来把js事件机制搞得很清楚。<br />代码如下:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"><br /> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> my97dp(){<br /> WdatePicker({skin:'whyGreen',dateFmt:'yyyy</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">-</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">MM</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">-</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">dd HH:mm'});<br /> }<br /> jQuery(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(){<br />jQuery('#finishtime').get(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">0</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">).attachEvent('onfocus',my97dp);<br /> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> status</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">'${obj.status}';<br /> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">if</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">(status</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">==</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">'</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">2</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">'</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">||</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">status</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">==</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">'</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">3</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">'){<br /> </span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">var</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> t</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">=</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">jQuery('#finishtime').addClass('readonly')<br /> .attr('readonly',</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">true</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">).removeClass('Wdate').get(</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">0</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);">);<br /> t.detachEvent('onfocus',my97dp);<br /> }<br /> });<br /> </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /> </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">input </span><span style="color: rgb(255, 0, 0);">type</span><span style="color: rgb(0, 0, 255);">="text"</span><span style="color: rgb(255, 0, 0);"> name</span><span style="color: rgb(0, 0, 255);">="finishtime"</span><span style="color: rgb(255, 0, 0);"> id</span><span style="color: rgb(0, 0, 255);">="finishtime"</span><span style="color: rgb(255, 0, 0);"> readonly</span><span style="color: rgb(0, 0, 255);">="readonly"</span><span style="color: rgb(255, 0, 0);"> class</span><span style="color: rgb(0, 0, 255);">="Wdate"</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br /><img src ="http://www.blogjava.net/leekiang/aggbug/238677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-11-04 18:27 <a href="http://www.blogjava.net/leekiang/archive/2008/11/04/238677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery换肤</title><link>http://www.blogjava.net/leekiang/archive/2008/08/14/221860.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 13 Aug 2008 18:28:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/08/14/221860.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/221860.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/08/14/221860.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/221860.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/221860.html</trackback:ping><description><![CDATA[http://www.lvjiyong.com/item/JQuery-Style<img src ="http://www.blogjava.net/leekiang/aggbug/221860.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-08-14 02:28 <a href="http://www.blogjava.net/leekiang/archive/2008/08/14/221860.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jquery动画</title><link>http://www.blogjava.net/leekiang/archive/2008/06/20/209539.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 20 Jun 2008 13:03:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/06/20/209539.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/209539.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/06/20/209539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/209539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/209539.html</trackback:ping><description><![CDATA[http://www.lzby.net/boho/blog/?p=207<br />http://www.lzby.net/boho/blog/?p=206<br /><img src ="http://www.blogjava.net/leekiang/aggbug/209539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-06-20 21:03 <a href="http://www.blogjava.net/leekiang/archive/2008/06/20/209539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery源代码解读笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/06/07/206456.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 06 Jun 2008 18:39:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/06/07/206456.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/206456.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/06/07/206456.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/206456.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/206456.html</trackback:ping><description><![CDATA[
		<p>1,整体结构如下<br /></p>
		<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">
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000">() {<br /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">……</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #000000">})();</span>
		</div>第一对括号里是一个匿名函数，第一对括号表示执行该函数。<br />注: js的匿名函数模式   <a href="http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html">http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html</a><br />非匿名函数的类似写法如下<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"><span style="COLOR: #000000">( </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> test(){alert('test');})();</span></div>所有的jquery代码都放在该匿名函数里，避免了命名冲突。但有两个要单独处理:'jQuery'和'$'<br /><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"><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Map over jQuery in case of overwrite</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> _jQuery </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> window.jQuery,<br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Map over the $ in case of overwrite</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">    _$ </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> window.$;<br /><br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> jQuery </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> window.jQuery </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> window.$ </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">( selector, context ) {<br />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> The jQuery object is actually just the init constructor 'enhanced'</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> jQuery.fn.init( selector, context );<br />};</span></div><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"><span style="COLOR: #000000">noConflict: </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">( deep ) {<br />        window.$ </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _$;<br /><br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( deep )<br />            window.jQuery </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _jQuery;<br /><br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> jQuery;<br />    },</span></div>假如没有执行noConflict,则原来定义的$或jQuery(如果定义了的话)会被一个新函数覆盖，只在内部留一个原来的引用(名叫_$或_jQuery)。<br />如果要兼容原来的$,则执行jQuery.noConflict(),然后只能用jQuery的写法;<br />极端情况:"jQuery"也被占用了，又要兼容，那么执行var myJQ =jQuery.noConflict(true),以后全用myJQ的写法。<br />注意:这时jquery.js要放在其他js的后面。<br />2，<br /> 定义jQuery的构造和原型函数，这个过程同时定义了prototype的别名为fn:jQuery.prototype=jQuery.fn。 jQuery对象的原型prototype包括了诸多的核心方法和属性：<br />init<br />jquery 当前的版本号<br />size 返回了length属性<br />length<br />get<br />each<br />... <br />定义完了以后必须写以下代码，不明白<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"><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Give the init function the jQuery prototype for later instantiation(晚初始化?)</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">jQuery.fn.init.prototype </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> jQuery.fn;</span></div>见<a href="http://bbs.blueidea.com/thread-2843388-1-1.html">http://bbs.blueidea.com/thread-2843388-1-1.html</a><br />jQuery.prototype.init( selector, context )是jQuery对象的一个成员函数,但是在jQuery构造函数中总是会执行这个函数,所以说"它是加强的构造函数(<font color="#008000">init constructor 'enhanced')</font>。因为在执行构造函数jQuery 时总是会执行它。 这也是很多框架的典型做法。<br />jQuery有3个身份，类，对象，函数（构造函数）。<br />如果find是对象的方法，即类似于 jQuery.find=function(){}<br />那么就应该使用jQuery.find();<br /><br />如果find是类的成员函数，即类似于 jQuery.prototype.find=function(){}<br />那么必须通过jQuery()返回jQuery实例，再调用find方法，即jQuery().find()。<br /><br />8,jQuery源码解读---执行过程分析<br />http://hi.baidu.com/zhuguoneng/blog/item/3d07e9d667e9482b06088b4c.html<img src ="http://www.blogjava.net/leekiang/aggbug/206456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-06-07 02:39 <a href="http://www.blogjava.net/leekiang/archive/2008/06/07/206456.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery的ajax相关笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/05/27/203347.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 27 May 2008 14:48:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/27/203347.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/203347.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/27/203347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/203347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/203347.html</trackback:ping><description><![CDATA[
		<a href="http://bbs.jquery.org.cn/frame.php?frameon=yes&amp;referer=http%3A//bbs.jquery.org.cn/viewthread.php%3Ftid%3D137%26page%3D1" target="_blank">
				<span class="bold">jquery中AJAX的并发执行问题</span>
				<br />
				<span class="bold">关于ajax的应用，异步并发，导致的问题</span>
		</a>
		<br />
		<br />
		<br />http://www.blogjava.net/emu/archive/2005/11/22/20888.html<br />CACHE<br />如果使用xmlhttp控件，在发起http请求的时候IE会包办cache策略，很多时候更新了数据却无法获得更新后的数据。一开始试图用传统方式在URL后面加随机数来强制更新，但是IE仍然距不发出新的请求。<br /><p>一个解决方法是在后台写expires: 0或者其他的禁止前台cache的头，但是这样在数据没有更新的时候又会带来不必要的服务器压力、响应延迟和带宽浪费。<br />一个稍微好一点的解决方法是，前台在提交数据以后，需要强制更新数据的时候：</p><p>xmlhttp.setRequestHeader("If-Modified-Since","0");</p><br /><a href="http://bbs.jquery.org.cn/frame.php?frameon=yes&amp;referer=http%3A//bbs.jquery.org.cn/viewthread.php%3Ftid%3D137%26page%3D1" target="_blank"></a><img src ="http://www.blogjava.net/leekiang/aggbug/203347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-27 22:48 <a href="http://www.blogjava.net/leekiang/archive/2008/05/27/203347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery插件开发</title><link>http://www.blogjava.net/leekiang/archive/2008/05/08/199214.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 08 May 2008 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/08/199214.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/199214.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/08/199214.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/199214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/199214.html</trackback:ping><description><![CDATA[1，jquery插件开发模式 <br /><a href="http://www.learningjquery.com/2007/10/a-plugin-development-pattern">http://www.learningjquery.com/2007/10/a-plugin-development-pattern</a><br />There are a few requirements that I feel this pattern handles nicely: <br />(1)、Claim only a single name in the jQuery namespace <br />(2)、Accept an options argument to control plugin behavior <br />(3、Provide public access to default plugin settings <br />(4、Provide public access to secondary functions (as applicable) <br />(5、Keep private functions private <br />(6、Support the Metadata Plugin<br />(7,无论何时候，当你的代码出现each时，你应该重写代码来构造一个插件<br /><br />2,jquery源码初步研究(插件扩展机制)<br /><a href="http://hi.baidu.com/uniquejava/blog/item/d55a2e12140f6953f819b821.html">http://hi.baidu.com/uniquejava/blog/item/d55a2e12140f6953f819b821.html</a><br /><br />3,传入回调函数的一种写法，不知可有更好的<br />   传参时的写法: callback:'test()'<br />   调用时的写法:<br />    if(options.callback) eval(options.callback);<br />  来源 <a href="http://www.heartstringz.net/blog/posts/view/jquery-countdown-plugin">http://www.heartstringz.net/blog/posts/view/jquery-countdown-plugin</a><br /><br />4，(function($){<br /> $.fn.extend({<br />         plusin:function(opt,callback){<br />   return this;<br />         }<br /> })<br />})(jQuery);<br /> <br />(function($){<br /> $.fn.plusin = function(opt,callback){<br />  return this;<br /> }<br />})(jQuery);<br />请问这两种方式有什么区别 <br /><span id="span_13138">就这种情况而言，是没有区别。 <br />当然extend有多个重载。<br /><a href="http://news.cnblogs.com/group/topic/2640/">http://news.cnblogs.com/group/topic/2640/</a></span><img src ="http://www.blogjava.net/leekiang/aggbug/199214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-08 13:19 <a href="http://www.blogjava.net/leekiang/archive/2008/05/08/199214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>很有用的jquery插件</title><link>http://www.blogjava.net/leekiang/archive/2008/05/07/198964.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 07 May 2008 06:36:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/07/198964.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/198964.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/07/198964.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/198964.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/198964.html</trackback:ping><description><![CDATA[1,bgiframe<br /><a href="http://plugins.jquery.com/project/bgiframe">http://plugins.jquery.com/project/bgiframe</a><br /><a href="http://plugins.jquery.com/node/1952" target="_blank">suggested patch for div on top of flash frame problem in IE7</a><br />2,dimensions<br /><a href="http://plugins.jquery.com/project/dimensions">http://plugins.jquery.com/project/dimensions</a><br /><a href="http://brandonaaron.net/docs/dimensions/">http://brandonaaron.net/docs/dimensions/</a><br />3,suggest<br /><a href="http://www.vulgarisoip.com/2007/06/29/jquerysuggest-an-alternative-jquery-based-autocomplete-library/">http://www.vulgarisoip.com/2007/06/29/jquerysuggest-an-alternative-jquery-based-autocomplete-library/</a><br />4,hotkey<br /> <a id="Example:">$.hotkeys.add('Ctrl+c', function(){ alert('copy anyone?');});</a><br /> <a id="Example:">$.hotkeys.remove('Ctrl+c');</a><br /><a href="http://code.google.com/p/js-hotkeys/">http://code.google.com/p/js-hotkeys/</a><br /><a href="http://plugins.jquery.com/project/clickOrEnter">http://plugins.jquery.com/project/clickOrEnter</a><br />5,validate<br /><a href="http://jquery.bassistance.de/validate/demo/">http://jquery.bassistance.de/validate/demo/</a><br />猫冬的表单验证插件<br /><a href="http://www.cnblogs.com/wzmaodong">http://www.cnblogs.com/wzmaodong</a><br /><a href="http://www.yhuan.com/formvalidator/userguide.html">http://www.yhuan.com/formvalidator/userguide.html</a><br />6,png fix插件<br />解决png在IE5,6下的显示问题<br />使用:<code class="javascript">$(<span class="global">"#testdiv"</span>).pngFix(); </code><br /><a href="http://plugins.jquery.com/project/pngFix">http://plugins.jquery.com/project/pngFix</a><br /><a href="http://jquery.andreaseberhard.de/pngFix/">http://jquery.andreaseberhard.de/pngFix/</a><br />7,Accordion<br />应该是使用最多的jquery accordian.回复比较多<br /><a href="http://bassistance.de/jquery-plugins/jquery-plugin-accordion/">http://bassistance.de/jquery-plugins/jquery-plugin-accordion/</a><br /><a href="http://groups.google.com/group/jquery-ui/topics">http://groups.google.com/group/jquery-ui/topics</a> 作者要求回复到这里<br />8,hoverIntent<br />能根据鼠标的移出移入速度和是否停留进行相应的处理<br /><a href="http://cherne.net/brian/resources/jquery.hoverIntent.html">http://cherne.net/brian/resources/jquery.hoverIntent.html</a><br />9,slide幻灯效果<br /><a href="http://www.malsup.com/jquery/cycle/">http://www.malsup.com/jquery/cycle/</a><br />10,tooltip<br /><a href="http://jquery.bassistance.de/tooltip/demo/">http://jquery.bassistance.de/tooltip/demo/</a><br />11,ajax Queue<br />好像是支持按照发出请求的顺序来依次执行回调函数(不处理的话快速发出大量请求时响应会乱)。<br />某人的评论:<br />The uses of this plugin are pretty obscure to most people. This plugin helps you deal with situations where a javascript function is completing before you intend for it, and allowing other functions to execute, while a crucial function somewhere is still processing. Some know what I’m talking about… this plugin was absolutely crucial for our ajax comments. God bless the authors.<br /><a href="http://plugins.jquery.com/project/ajaxqueue">http://plugins.jquery.com/project/ajaxqueue</a><br />12,corner<br /><font face="Courier New">$(this).corner("round");</font><br /><a href="http://www.methvin.com/jquery/jq-corner-demo.html">http://www.methvin.com/jquery/jq-corner-demo.html</a><br />13,truncate 截断字符串<br /><a href="http://www.cssrain.cn/demo/truncate-2.2/index.html">http://www.cssrain.cn/demo/truncate-2.2/index.html</a><br />14,contextmenu<br /><a href="http://www.trendskitchens.co.nz/jquery/contextmenu/">http://www.trendskitchens.co.nz/jquery/contextmenu/</a><br />15,progress bar<br /><a href="http://digitalbush.com/projects/progress-bar-plugin">http://digitalbush.com/projects/progress-bar-plugin</a><br /><a href="http://www.jb51.net/article/13993.htm">http://www.jb51.net/article/13993.htm</a>简单<br />16,multiple-file-upload<br /><a href="http://www.fyneworks.com/jquery/multiple-file-upload/">http://www.fyneworks.com/jquery/multiple-file-upload/</a><br />17，easydrag<br /><a href="http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/">http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/</a><br />简洁的拖动功能实现。比 interface 插件的简单很多，对拖动有很高要求的可以参考这个插件来定制。<a href="http://space.cnblogs.com/RChen/">http://space.cnblogs.com/RChen/</a>木野狐对此插件稍有修改，在两篇帖子里有介绍（<a class="" id="homepage1_HomePageDays_DaysList_ctl04_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/RChen/archive/2007/09/20/easydrag.html" target="_blank" mce_href="http://www.cnblogs.com/RChen/archive/2007/09/20/easydrag.html"><font color="#0000ff">扩展了 jquery 的插件 easy drag</font></a> , <a class="" id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/RChen/archive/2007/11/01/946007.html" target="_blank" mce_href="http://www.cnblogs.com/RChen/archive/2007/11/01/946007.html"><font color="#0000ff">漂浮窗口拖动杂谈（续）</font></a> ）<br />18,jCarouselLite<br /><a href="http://gmarwaha.com/jquery/jcarousellite/index.php">http://gmarwaha.com/jquery/jcarousellite/index.php</a><br />19,chartotable<br /><a href="http://www.hovinne.com/dev/jquery/chartotable/">http://www.hovinne.com/dev/jquery/chartotable/</a> 好玩<br />20,scroll   滚动<br /><a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html">http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html</a><br /><a href="http://jscroller.markusbordihn.de/example/left/">http://jscroller.markusbordihn.de/example/left/</a><br />http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html<br />21,calculation计算插件<br />$("input[@name='price1'], input[@name='price2'], input[@name='price3']").sum("keyup", "#totalprice")<br />这个插件也没有考虑四舍五入的问题,例如1.3+2.667<br />http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm<br /><br />22,jQuery Easing   缓和?<br />http://gsgd.co.uk/sandbox/jquery/easing/<br /><br />23,livequery<br />能自动给动态添加的元素绑定事件。京东商城用了。<br />http://feiyu.asgard.cn/article_155.html<br /><br />24,jtemplates<br />Template engine in JavaScript. Plugin to jQuery.<br />http://jtemplates.tpython.com/<br />http://hi.baidu.com/df1019/blog/item/42ba7ffbfea208106c22eb53.html<br />http://hi.baidu.com/df1019/blog/item/d4cfbd2b380863fce6cd4089.html<br />http://www.blogjava.net/OneEyeWolf/archive/2008/11/17/240999.html<br /><br />25,jcache <br />A client-side caching plugin<br />http://www.skidvn.com/jcache<br />http://www.hackeye.com/article/5487/<br /><br />26,<br />Jquery Floating Box Plugin<br />http://www.phpletter.com/Demo/Jquery-Floating-Box-Plugin/<br /><br />27,clickmenu<br /> 多级菜单 http://p.sohei.org/jquery-plugins/clickmenu<br /><br />28,<br /><a href="http://home.czyz.com.cn/home/link.php?url=http://sorgalla.com%2Fjcarousel%2F">jCarousel</a>
是个非常好看又好用的内容滚动切换插件，可以实现按序水平或垂直方向的内容列表的切换。<br /><h2><a title="Permalink to 50多个强大的jQuery插件应用实例" href="http://parandroid.com/more-than-50-powerful-plug-in-application-examples-jquery/" rel="bookmark"><font size="2">50多个强大的jQuery插件应用实例</font></a></h2><h2><a title="Permalink to 45个新鲜出炉的jQuery插件" href="http://parandroid.com/45-freshly-plug-in-the-jquery/" rel="bookmark"><font size="2">45个新鲜出炉的jQuery插件</font></a></h2><h2><a title="Permalink to 37个更加出色的jQuery插件" href="http://parandroid.com/37-plug-ins-even-more-outstanding-jquery/" rel="bookmark"><font size="2">37个更加出色的jQuery插件</font></a></h2><img src ="http://www.blogjava.net/leekiang/aggbug/198964.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-07 14:36 <a href="http://www.blogjava.net/leekiang/archive/2008/05/07/198964.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery自动完成</title><link>http://www.blogjava.net/leekiang/archive/2008/05/07/198957.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 07 May 2008 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/07/198957.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/198957.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/07/198957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/198957.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/198957.html</trackback:ping><description><![CDATA[以下写得很零碎，纯粹是备忘<br />1,<br />  (1)如果用keydown,用中文输入法时在输入框里输汉语拼音的字母就会有感知,故只能用keyup<br />  (2)后退问题.<br />       如何区分是在中文输入法的输入框里的后退，还是自动完成录入框里的后退，二者的处理是不一样的。<br />  (3)确认键<br />       光标在form里时，按确认键浏览器会自动提交。而我想要的是一按确认键，自动录入选中的那一项。<br />如何在按确认键时不让form截获这个事件。要做成通用的，而不是在每一个form里写死。<br />   (4)调试时慎用alert<br />      alert然后确定时会自动执行blur,会影响的原来程序的执行次序<br />        <br /><br />2,插件<br /> (1)<a href="http://code.google.com/p/jqac/">http://code.google.com/p/jqac/</a> 不错<br /> (2)http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete 很好很强大<br /> (3)<a href="http://www.dyve.net/jquery/?autocomplete">http://www.dyve.net/jquery/?autocomplete</a> 有遮盖select box功能<br /> (4)http://docs.jquery.com/Plugins/AutoComplete<br /> (5)http://mabp.kiev.ua/content/2008/04/08/autocomplete_by_your_own_hands<br /> (6)<a href="http://www.pengoworks.com/workshop/jquery/autocomplete.htm">http://www.pengoworks.com/workshop/jquery/autocomplete.htm</a><br /> (7)http://huacn.blogbus.com/logs/19643985.html<br /><br />测试鼠标事件和键盘事件在IE和FF下的执行次序,同时测试在中文输入法下的执行次序<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"><br /></span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">function</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> $(id){</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 255);">return</span><span style="background-color: rgb(245, 245, 245); color: rgb(0, 0, 0);"> document.getElementById(id);}<br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">input </span><span style="color: rgb(255, 0, 0);">onmousedown</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'down'"</span><span style="color: rgb(255, 0, 0);"> onmouseup</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'up'"</span><span style="color: rgb(255, 0, 0);"><br /> onclick</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'click'"</span><span style="color: rgb(255, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">&gt;&lt;</span><span style="color: rgb(128, 0, 0);">br</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">input </span><span style="color: rgb(255, 0, 0);">onkeydown</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'down';"</span><span style="color: rgb(255, 0, 0);"> onkeyup</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'up-'"</span><span style="color: rgb(255, 0, 0);"><br />  onkeypress</span><span style="color: rgb(0, 0, 255);">="$('d').value=$('d').value+'press';"</span><span style="color: rgb(0, 0, 255);">&gt;&lt;</span><span style="color: rgb(128, 0, 0);">br</span><span style="color: rgb(0, 0, 255);">&gt;&lt;</span><span style="color: rgb(128, 0, 0);">br</span><span style="color: rgb(0, 0, 255);">&gt;&lt;</span><span style="color: rgb(128, 0, 0);">br</span><span style="color: rgb(0, 0, 255);">&gt;&lt;</span><span style="color: rgb(128, 0, 0);">br</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">input </span><span style="color: rgb(255, 0, 0);">id</span><span style="color: rgb(0, 0, 255);">='d' </span><span style="color: rgb(255, 0, 0);">size</span><span style="color: rgb(0, 0, 255);">=100</span><span style="color: rgb(0, 0, 255);">&gt;</span></div>你会发现，在非中文输入法模式下,IE和FF大体上按下面的顺序<br />(1)对key 来说 :<font color="#ff0000">keydown--&gt;keypress--&gt;keyup</font><br />如果持续按住键位,keydown会持续执行;<br />如果要阻止按键的默认行为,必须使用keypress(用return false),但按backspace时不行,因为backspace时只执行keydown和keyup,keyup之前回退的效果已经生效了。<br />(2)对mouse来说 :<font color="#ff0000">mousedown--&gt;mouseup--&gt;click</font> ,在IE下如果在与按下鼠标的相同元素上松开则产生click事件,<font color="#0000ff">如果松开时已经离开最初按下时的元素了，则不会产生click事件</font>;但据我观察FF下不是这样,FF下无论鼠标是否在最初的元素上松开，都会产生click事件。<br /><br />在中文输入法模式下:<br />(1)FF<br /><img src="http://www.blogjava.net/images/blogjava_net/leekiang/ff1.jpg" alt="ff1.jpg" border="0" width="245" height="126" /><img src="http://www.blogjava.net/images/blogjava_net/leekiang/ff2.jpg" alt="ff2.jpg" border="0" width="174" height="124" /><br />其中downup-up-是输入法切换时的键盘事件<br />输入第一个字母时产生down-press事件,然后输入任何字母都不会产生键盘事件, 只有按确认输入的键了，例如按space或是1,才会执行up事件,见右图。<br />也就是说录入一次中文时，不管中间过程怎么样，整个的键盘事件只有3个:down-press-up<br />(注:以上说的键盘事件都是指发生在input上的)<br />2,IE<br /><img src="http://www.blogjava.net/images/blogjava_net/leekiang/IE1.jpg" alt="IE1.jpg" border="0" width="320" height="133" /><img src="http://www.blogjava.net/images/blogjava_net/leekiang/IE2.jpg" alt="IE2.jpg" border="0" width="374" height="127" /><br />其中downup-up-也是输入法切换时的键盘事件<br />然后在输入法框里的所有按键都产生一对downup事件,包括回退和确认都是。<br />无论光标在input还是在输入法框按回退，都是down-up<br /><br />用style.imeMode好像无法得到当前text的输入法模式<br />(http://topic.csdn.net/t/20040908/13/3351801.html)<br /><br />http://www.hihiyou.com/?p=5<br />http://realazy.org/blog/2007/10/31/solution-of-keyup-failing-when-ime-is-on/<br />http://topic.csdn.net/t/20040714/21/3175529.html<br />http://www.javaeye.com/topic/191555<br /><br />另:IE中onpropertychange时要用event.propertyName   ==   "value"<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">document.getElementById('tt').attachEvent('onpropertychange',</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(e){<br />        </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> item </span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);"> e){<br />            alert(item</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">e[item]);//遍历可看到</span>propertyName<br /><span style="color: rgb(0, 0, 0);">        }<br />    });</span></div><br />  判断表单里的元素的值有没有发生变化:      <div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />    jQuery(document).ready(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br /></span><span style="color: rgb(0, 0, 255);">        var</span><span style="color: rgb(0, 0, 0);"> inputarr </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">document.getElementsByTagName(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">INPUT</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);//TEXTAREA,SELECT等都可以这样用<br />        </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> i</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;i</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">inputarr.length;i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">){<br />        inputarr[i].attachEvent('onpropertychange',</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(e){<br />       </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(e.propertyName</span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);">'value')</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">;  </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">不是value改变不执行后面的操作</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">       </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);">{ischanged</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">}<br />    });<br />    }<br />});<br />    </span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span></div>奇怪的是先jQuery,再each,再用$(this).get(0).attachEvent("onpropertychange",fn); 好像不可以 <br />还有<br />$("textarea").bind('propertychange',function(e) {<br />e.preventDefault();<br />// Your code here<br />});好像也不行<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/198957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-07 14:16 <a href="http://www.blogjava.net/leekiang/archive/2008/05/07/198957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/04/28/196789.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 28 Apr 2008 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/04/28/196789.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/196789.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/04/28/196789.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/196789.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/196789.html</trackback:ping><description><![CDATA[
		<p>1,js的事件函数. click(); click(fn); <br />  分两种，一种是绑定事件，带参，形如eventName(fn);<br />  一种是触发事件,不带参,形如eventName(),客户触发或者程序模拟触发。<br />  触发时包括了浏览器的默认行为。<br />  但可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。<br />  在eventName(fn)的函数体内，this 指代的是DOM对象而非jQuery对象.可用$(this)得到jquery对象<br />  <br />2,each(fn);<br />  返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。<br />  返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。<br />  <br />3,attr("checked", true)和attr("checked", '')是同样的效果,但attr("checked", 'true')不行</p>
		<p>4,</p>
		<p>操作 radio</p>
		<p>var item = $("input[name='items'][checked]").val();</p>
		<p>$("input[name='items']").get(1).checked = true;</p>
		<p> $("[name='isf'][value='yes']").attr("checked",true);<br /><br /></p>
		<p>操作 select</p>
		<p>var item = $("select[name='items'] option[selected]").text();</p>
		<p>$('#select_id')[0].selectedIndex = 1;</p>
		<p>  <br />5,属性选择器<br />  [attribute]        匹配包含给定属性的元素<br />  [attribute=value]  匹配给定的属性是某个特定值的元素<br />  [attribute^=value] 匹配给定的属性是以某些值开始的元素<br />  [attribute!=value] 匹配给定的属性是不包含某个特定值的元素<br />  [attribute$=value] 匹配给定的属性是以某些值结尾的元素<br />  [attribute*=value] 匹配给定的属性是以包含某些值的元素<br />  [selector1][selector2][selectorN] 复合属性选择器，需要同时满足多个条件时使用。<br />  例如$("input[id][name$='man']")<br />  <br />6,$("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})  <br />//实现表格的隔行换色效果</p>
		<p>7,$('input').one("click", function(){<br />            alert($(this).val());<br />        });<br />  此事件执行一次即被删除<br />  <br />8,$("form input") 匹配所有的后代元素(子子孙孙)<br /> $("form &gt; input")匹配所有的子元素(只有儿子)<br />$("div,span,p.myClass")将每一个选择器匹配到的元素合并后一起返回<br /><br />9,disabled的用法<br />以下两种写法没有区别,都表示不可用:<br />$("#btn").attr('disabled','false')和$("#btn").attr('disabled','true')<br />可用的话要用:<br />$("#btn").removeAttr('disabled');或$("#btn").attr('disabled', false);//注意无引号<br /><br />10,mouseout的处理<br /><a href="http://tangb4c.yo2.cn/archives/632854">http://tangb4c.yo2.cn/archives/632854</a><br /><a href="http://www.zhangjingwei.com/show-93-1.html">http://www.zhangjingwei.com/show-93-1.html</a><br /><a href="http://bbs.51js.com/thread-70665-1-1.html">http://bbs.51js.com/thread-70665-1-1.html</a><br /><br />11，jquery处理表格<br /><a href="http://blog.blueshop.com.tw/jeff377/archive/2008/02/01/54237.aspx">http://blog.blueshop.com.tw/jeff377/archive/2008/02/01/54237.aspx</a><br /><a href="http://15daysofjquery.com/examples/zebra/">http://15daysofjquery.com/examples/zebra/</a><br /><br />12 jQuery构造函数详解<br />http://hi.baidu.com/xletian/blog/item/30810de92776be3bb90e2d69.html<br /><br />13,jquery的布局管理器layoutManager</p>
		<p>14, 注意有空格和没空格的区别<br /></p>
		<p>var sel = $("#itemList [issel='true']");//itemList下所有含有issel='true'属性的子孙元素.好像用find等别的方式都实现不了。</p>
		<p>var sel = $("#itemList[issel='true']");//用issel='true'过滤前面的元素</p>
		<p>15,只读的写法</p>
		<p>jQuery(":input[name='title']").attr('readonly','readonly')</p>
		<p>或jQuery(":input[name='title']")[0].readOnly=true</p>
		<p>
				<br />
		</p>
		<p>16，重复复制同一个div</p>
		<p>var tempDiv=jQuery('.cont').eq(0).clone();<br />jQuery('.cont').eq(jQuery('.cont').length-1).after(tempDiv);</p>
		<p>17, id="org.id"时要转义:$("#org\\.id").val();</p>
		<p>
				18，<span style="color: rgb(128, 64, 64);">jQuery的serialize</span></p>
		<p>
				<span style="color: rgb(128, 64, 64);">
				</span>可用来获取表单里元素的值拼成一个query string<br /></p>
		<p>19</p>
		<p>jquery相关插件或项目<br />(1)图表flot  (<a href="http://code.google.com/p/flot/">http://code.google.com/p/flot/</a>)<br />       jqchart  <a href="http://www.reach1to1.com/sandbox/jquery/jqchart/">http://www.reach1to1.com/sandbox/jquery/jqchart/</a><br />     画图drawing     <a href="http://www.openstudio.fr/Library-for-simple-drawing-with.html">http://www.openstudio.fr/Library-for-simple-drawing-with.html</a><br /><br /><br />        </p>
<img src ="http://www.blogjava.net/leekiang/aggbug/196789.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-04-28 15:58 <a href="http://www.blogjava.net/leekiang/archive/2008/04/28/196789.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery模态窗口</title><link>http://www.blogjava.net/leekiang/archive/2008/03/28/189285.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 28 Mar 2008 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/03/28/189285.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/189285.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/03/28/189285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/189285.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/189285.html</trackback:ping><description><![CDATA[http://www.malsup.com/jquery/block/#displaybox<br />http://dev.iceburg.net/jquery/jqModal/<br /><br /><a href="http://bbs.blueidea.com/viewthread.php?tid=2844333&amp;extra=&amp;page=1">http://bbs.blueidea.com/viewthread.php?tid=2844333&amp;extra=&amp;page=1</a><br /><br /><h2><a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/RChen/archive/2007/09/20/easydrag.html"><font size="2">扩展了 jquery 的插件 easy drag</font></a></h2><h2><a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/RChen/archive/2007/11/22/968992.html"><font size="2">用 jQuery 的 AJAX 功能发现的一个错误/注意点：HTTP Error 411</font></a></h2><h2><a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/RChen/archive/2007/11/01/946007.html"><font style="BACKGROUND-COLOR: #ffffff" color="#000000" size="2">漂浮窗口拖动杂谈（续）</font></a></h2><p><a href="http://trentrichardson.com/Impromptu/index.php">http://trentrichardson.com/Impromptu/index.php</a><br /></p><br /><a href="http://www.aspstat.com/jbox/demo.htm">http://www.aspstat.com/jbox/demo.htm</a><br /><a href="http://www.cnblogs.com/huacn/archive/2007/09/03/jquery_jwindow_js.html">http://www.cnblogs.com/huacn/archive/2007/09/03/jquery_jwindow_js.html</a> 李华顺<br /><h2><a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/mn232nm/archive/2007/04/22/722900.html"><font size="2">百度空间的popup效果分析</font></a></h2><br /><img src ="http://www.blogjava.net/leekiang/aggbug/189285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-03-28 16:02 <a href="http://www.blogjava.net/leekiang/archive/2008/03/28/189285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jQuery与Ajax(转)</title><link>http://www.blogjava.net/leekiang/archive/2008/03/07/184383.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 06 Mar 2008 18:31:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/03/07/184383.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/184383.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/03/07/184383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/184383.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/184383.html</trackback:ping><description><![CDATA[
		<span style="font-size: small;">在我所知道的主流JavaScript库中，jQuery拥有最棒的Ajax API。最简单的Ajax调用如：<br /></span>
		<pre>
				<span style="font-size: small;">jQuery('div#intro').load('/some/fragment.html');<br /></span>
		</pre>
		<p>
				<span style="font-size: small;">代码以GET请求方式，从/some/fragment.html文件中获取HTML片段，并把片段装载到id="intro"的div中。<br /><br />当
我第一次看到这行代码时，几乎对它没什么印象。这看起来非常简洁，但如果你想用jQuery做些更复杂的事情，比如显示Ajax装载进度，该如何做呢？
jQuery为你准备了一些可自定义的事件（ajaxStart，ajaxComplete，ajaxError等等），来实现你想要的代码。同时
jQuery也提供了广泛的底层API，来实现更复杂的Ajax交互：<br /></span>
		</p>
		<pre>
				<span style="font-size: small;">jQuery.get('/some/script.php', {'name': 'Simon'}, function(data) {<br />    alert('The server said: ' + data);<br />}); // 以GET方式通过/some/script.php?name=Simon获取数据<br /><br />jQuery.post('/some/script.php', {'name': 'Simon'}, function(data) {<br />    alert('The server said: ' + data);<br />}); // 以POST方式向/some/script.php发送请求<br /><br />jQuery.getJSON('/some.json', function(json) {<br />    alert('JSON rocks: ' + json.foo + ' ' + json.bar);<br />}); // 从/some.json接收并解析数据，把数据转换成JSON格式<br /><br />jQuery.getScript('/script.js'); // 以GET方式获取/script.js脚本并用eval()执行<br /><br /><a target="_blank" href="http://www.nixsky.com/program/java/2008-02/393.html">http://www.nixsky.com/program/java/2008-02/393.html</a><br /><br />选取元素:<br /></span>
		</pre>
		<dl>
				<dt>
						<span style="font-size: small;">jQuery('div.panel')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了所有class="panel"的div</span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('p#intro')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了所有id="intro"的段落</span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('div#content a:visible')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了id="content"的div中所有可见的链接</span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('input[@name=email]')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了所有name="email"的输入域</span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('table.orders tr:odd')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了类名为“orders”的表中所有的奇数行<br /></span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('a[@href^="http://"]')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了所有（以http://开头的）外部链接</span>
				</dd>
				<dt>
						<span style="font-size: small;">jQuery('p[a]')</span>
				</dt>
				<dd>
						<span style="font-size: small;">选取了所有包含一个或多个链接的段落<br /></span>
				</dd>
		</dl>
		<p>
				<span style="font-size: small;">上述例子中，:visible和:odd是jQuery实现的扩展,很具特色。而属性的选取使用@作为标记，</span>
		</p>
		<p>
				<span style="font-size: small;">其方式和XPath一样，要优于CSS2。<br /></span>
		</p>
		<p>jQuery的这套选取语法包罗万象，有些类似正则表达式，想完全消化是需要花上一段时间的。</p>$(window.frames["innerIframe"].document).find<span style="color: rgb(102, 204, 102);">(</span><span style="color: rgb(51, 102, 204);">"a[rel='external']"</span><span style="color: rgb(102, 204, 102);">)</span>.<span style="color: rgb(0, 102, 0);">addClass</span><span style="color: rgb(102, 204, 102);">(</span><span style="color: rgb(51, 102, 204);">"external"</span><span style="color: rgb(102, 204, 102);">)<br /></span>.<span style="color: rgb(0, 102, 0);">click</span><span style="color: rgb(102, 204, 102);">(</span><span style="color: rgb(0, 51, 102); font-weight: bold;">function</span><span style="color: rgb(102, 204, 102);">(</span><span style="color: rgb(102, 204, 102);">)</span><span style="color: rgb(102, 204, 102);">{</span>window.<span style="color: rgb(0, 0, 102);">open</span><span style="color: rgb(102, 204, 102);">(</span><span style="color: rgb(0, 0, 102); font-weight: bold;">this</span>.<span style="color: rgb(0, 102, 0);">href</span><span style="color: rgb(102, 204, 102);">)</span>;return <span style="color: rgb(0, 51, 102); font-weight: bold;">false</span>;<span style="color: rgb(102, 204, 102);">}</span><span style="color: rgb(102, 204, 102);">)</span>;<span style="color: rgb(102, 204, 102);">}</span><span style="color: rgb(102, 204, 102);">)</span>;<br /><br />在父窗口中操作 选中IFRAME中的所有单选钮<br />$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");<br /><br />在IFRAME中操作 选中父窗口中的所有单选钮<br />$(window.parent.document).find("input[@type='radio']").attr("checked","true"); <br /><br />取消全选<br />  $("input[@type=checkbox][@checked]").each(function(){<br />            $(this).attr("checked", '');<br />        });<br /><br />如果选中的只有一个，取得选中的值<br />$("input[@type=checkbox][@checked]").eq(0).val()<span style="font-size: small;"></span><pre><br /></pre><img src ="http://www.blogjava.net/leekiang/aggbug/184383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-03-07 02:31 <a href="http://www.blogjava.net/leekiang/archive/2008/03/07/184383.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery函数</title><link>http://www.blogjava.net/leekiang/archive/2008/02/16/180151.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 15 Feb 2008 23:11:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/02/16/180151.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/180151.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/02/16/180151.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/180151.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/180151.html</trackback:ping><description><![CDATA[1,after(html) after(elem)  after(elems)<br />  将指定的元素插入到某元素后。<br />  before(html) before(elem)  before(elems)与之相反<br /><br />2,append(html) append(elem)  append(elems)<br />  将指定的元素插入到某元素内部的末尾位置<br />  appendTo与之相反,但似乎只能使用appendTo(elem)<br /><br />3,prepend (html)  prepend (elem)  prepend (elems)   <br />  将指定的元素插入到某元素内部的开始位置，注意与append的区别<br /><br />4,<font size="2"><font size="2">wrap(htm) </font></font><br /><font size="2"><font size="2">  将匹配对象包含在给出的html代码内<br /><br />5,next<br />&lt;script type="text/javascript"&gt; <br />$(document).ready(function() {<br />    $('#t').find('dd').end().find('dt').click(function() {<br />         $(this).next().css("background","#f00");<br />         <br />     });<br />});<br />&lt;/script&gt; <br />    &lt;dl id="t"&gt;<br />        &lt;dt&gt;点这里测试1？&lt;/dt&gt;<br />        &lt;dd&gt;1111111111111111&lt;/dd&gt;<br /><br />        &lt;dt&gt;点这里测试2?&lt;/dt&gt;<br />        &lt;dd&gt;2222222222222222&lt;/dd&gt;<br />        <br />    &lt;/dl&gt;<br />  http://tzangms.com/blog/programming/984<br /><br /><a href="/wangxinsh55/archive/2007/06/25/126166.html" target="_blank">http://www.blogjava.net/wangxinsh55/archive/2007/06/25/126166.html</a><br /><br />6,深度，递归式的 .extend()<br />新的extend()允许你更深度的合并镶套对象。下面的例子是一个很好的证明。<br />    // 以前的 .extend()   <br />   jQuery.extend(   <br />     { name: “John”, location: { city: “Boston” } },   <br />     { last: “Resig”, location: { state: “MA” } }   <br />   );   <br />    // 结果:   <br />    // =&gt; { name: “John”, last: “Resig”, location: { state: “MA” } }<br />  // 新的更深入的 .extend()   <br />   jQuery.extend( true,   <br />   { name: “John”, location: { city: “Boston” } },   <br />     { last: “Resig”, location: { state: “MA” } }   <br />  );   <br />  // 结果   <br />   // =&gt; { name: “John”, last: “Resig”,   <br />  //      location: { city: “Boston”, state: “MA” } }  <br /><br />7,1.2.3版本和1.2.1版本的remove方法的区别<br />1.2.1版本<br /><div class="sourceRow"><span class="sourceRowText">remove: function(a){</span></div><div class="sourceRow"><span class="sourceRowText">if ( !a || jQuery.filter( a, [this] ).r.length ) {</span></div><div class="sourceRow"><span class="sourceRowText"> jQuery.removeData( this );</span></div><div class="sourceRow"><span class="sourceRowText"> this.parentNode.removeChild( this );</span></div><div class="sourceRow"><span class="sourceRowText">}</span></div><div class="sourceRow"><span class="sourceRowText">},</span></div>1.2.3版本<br />remove: function( selector ) {<br />  if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) {<br />   // Prevent memory leaks<br />   jQuery( "*", this ).add(this).each(function(){<br />    jQuery.event.remove(this);<br />    jQuery.removeData(this);<br />   });<br />   if (this.parentNode)<br />    this.parentNode.removeChild( this );<br />  }<br /> }<br />见<a href="http://www.blog.edu.cn/user2/50271/archives/2007/1963499.shtml">http://www.blog.edu.cn/user2/50271/archives/2007/1963499.shtml</a><br /><a href="http://pyrolupus.com/demo/jqremovebug.php">http://pyrolupus.com/demo/jqremovebug.php</a><br /><a href="http://dev.jquery.com/changeset/3790">http://dev.jquery.com/changeset/3790</a><br /><br />8,  extend()使用详解(不考虑深度的extend)<br /><br />$.extend(target, prop1, propN)<br />用一个或多个其他对象来扩展一个对象(即第一个参数)，返回这个最初的、并且被修改过的对象。这是简单的实现继承的一大方法.<br /><ul class="params"><li class="param"><span>target</span> (Object): 要扩展的对象</li><li class="param"><span>prop1</span> (Object): 要与第一个对象合并的对象</li><li class="param"><span>propN</span> (Object): (可选) 更多要与第一个对象合并的对象</li></ul><p class="param">合并defaults和options, 但不修改defaults，返回合并后的对象<br /><font face="Courier New">var defaults = { validate: false, limit: 5, name: "foo" }; <br />var options = { validate: true, name: "bar" }; <br />var settings = jQuery.extend({}, defaults, options);<br />结果 :settings == { validate: true, limit: 5, name: "bar" },defaults没有被修改</font></p></font></font><img src ="http://www.blogjava.net/leekiang/aggbug/180151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-02-16 07:11 <a href="http://www.blogjava.net/leekiang/archive/2008/02/16/180151.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/02/16/180149.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 15 Feb 2008 21:33:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/02/16/180149.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/180149.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/02/16/180149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/180149.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/180149.html</trackback:ping><description><![CDATA[1,JQuery对象和DOM对象如何转换<br />  JQuery对象才能使用JQuery定义的方法；DOM对象才能使用DOM对象的方法；二者不可以混淆。<br />  DOM对象通过$操作则可以转成JQuery对象。例如:<br /><span style="COLOR: rgb(0,0,0)">  $(document.getElementById(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">msg</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">))<br /></span>  JQuery对象转成DOM对象则较复杂一些。由于JQuery对象本身也是集合，所以必须通过索引的方式来转成DOM对象。例如：<br /><span style="COLOR: rgb(0,0,0)">  $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">#msg</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">)[</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">]<br /><img height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" width="11" align="top" /> $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">div</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">).eq(</span><span style="COLOR: rgb(0,0,0)">1</span><span style="COLOR: rgb(0,0,0)">)[</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">]<br /><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">div</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">).get(</span><span style="COLOR: rgb(0,0,0)">0</span><span style="COLOR: rgb(0,0,0)">)<br /><img height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" width="11" align="top" /> $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">td</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">)[</span><span style="COLOR: rgb(0,0,0)">5</span><span style="COLOR: rgb(0,0,0)">]<br /><br /></span><strong></strong>2,JQuery的get方法和eq方法的区别<br />  eq返回的是jquery对象；<br />  get(n)和索引返回的是dom元素对象。<br /><span style="COLOR: rgb(0,0,0)">  $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">div</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">).eq(</span><span style="COLOR: rgb(0,0,0)">2</span><span style="COLOR: rgb(0,0,0)">).html();                </span><span style="COLOR: rgb(0,128,0)">//</span><span style="COLOR: rgb(0,128,0)">调用jquery对象的方法</span><span style="COLOR: rgb(0,128,0)"><br />  </span><span style="COLOR: rgb(0,0,0)">$(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">div</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">).get(</span><span style="COLOR: rgb(0,0,0)">2</span><span style="COLOR: rgb(0,0,0)">).innerHTML;    </span><span style="COLOR: rgb(0,128,0)">//</span><span style="COLOR: rgb(0,128,0)">调用dom方法<br /><br />3,在事件处理程序中如何得到事件的发出者<br /></span>在事件处理程序中可以申明一个event对象的方式来抓取事件的发出者。<br /><div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: rgb(0,0,0)">$(document).ready(function(){<br />       $(</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">a.week</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">).click(function(event){<br />          var uri </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">cWtc.do?</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">;<br />          var params </span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)">action=blankWtc&amp;wd=</span><span style="COLOR: rgb(0,0,0)">"</span><span style="COLOR: rgb(0,0,0)"> </span><span style="COLOR: rgb(0,0,0)">+</span><span style="COLOR: rgb(0,0,0)"> $(event.target).text();<br />          window.location.href</span><span style="COLOR: rgb(0,0,0)">=</span><span style="COLOR: rgb(0,0,0)">uri </span><span style="COLOR: rgb(0,0,0)">+</span><span style="COLOR: rgb(0,0,0)"> params;          <br />       });      <br />}); </span></div><strong></strong><br />4，JavaScript只拥有单一的、全局的名称空间（即window对象），而很多程序员（以及一些库）恣意地为之添加各种东西。<br />要知道全局变量是魔鬼！聪明的开发人员，会使用类似组件模式的技术，来尽力减少全局对象的数量。<br />jQuery仅向全局名称空间引入一个标记：jQuery函数/对象。其余的要么是jQuery的直接属性，要么就是调用jQuery函数所返回的对象的方法。<br />5,两个select ，都是多选的，要求一个按钮，点击时将list1中所有选中的项复制到list2中，而且在list2中已经存在的项就不再添加<br /><a href="http://www.javaeye.com/topic/191788">http://www.javaeye.com/topic/191788</a><br /><p><span><span class="keyword">function</span><span> copy_onclick(){  <br /></span></span><span> $(<span class="string">"#list1 option:selected"</span><span>).each(</span><span class="keyword">function</span><span> () {  <br /></span></span><span>  $(document.createElement(<span class="string">"option"</span><span>))  <br /></span></span><span>.attr(<span class="string">"value"</span><span>,$(</span><span class="keyword">this</span><span>).val())  <br /></span></span><span> .text($(<span class="keyword">this</span><span>).val())  <br /></span></span><span> .appendTo(<span class="string">'#list2:not(:has(option[value=\''</span><span>+$(</span><span class="keyword">this</span><span>).val()+</span><span class="string">'\']))'</span><span>);  <br /></span></span><span>  });  </span><span> }  </span></p><br />6，<br />http://space.flash8.net/space/?18713/action_viewspace_itemid_328089.html<br />http://hi.baidu.com/yandavid/blog/item/9f64c033dc623b40ac4b5fda.html<br />http://www.cssrain.cn/article.asp?id=235<br />http://www.shineblog.com/user6/mprogram/archives/2008/937200.shtml 框处理<br /><br />John Resig 的主页<a href="http://ejohn.org/">http://ejohn.org/</a><br />Mike Hostetler的<a href="http://amountaintop.com/blog/mike">http://amountaintop.com/blog/mike</a><br /><strong></strong><img src ="http://www.blogjava.net/leekiang/aggbug/180149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-02-16 05:33 <a href="http://www.blogjava.net/leekiang/archive/2008/02/16/180149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>