﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Baldwin's DNN</title>
    <description>在此研究DNN的所有相关课题，希望给DNN在中国的广为人知贡献一点绵薄之力....</description>
    <link>http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/blogid/1/Default.aspx</link>
    <language>zh-CN</language>
    <managingEditor>dnnsun@gmail.com</managingEditor>
    <webMaster>dnnsun@gmail.com</webMaster>
    <pubDate>Thu, 29 Jul 2010 10:44:16 GMT</pubDate>
    <lastBuildDate>Thu, 29 Jul 2010 10:44:16 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>SunBlog RSS Generator Version 2.3.8.0</generator>
    <item>
      <title>分享jQuery技巧</title>
      <description>  &lt;p&gt;分享一些在项目用到的jQuery小技巧, 对自己做个记录，对别人也许有些帮助:&lt;/p&gt;  &lt;p&gt;1) DatePicker设置特定问日期, 有时我们可能需要特定的默认日期或重新设置值, 而不是Today, 代码如下:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: green"&gt;// set the specific date value from the hidden element 'defaultDate'
&lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;($(&lt;span style="color: #a31515"&gt;&amp;quot;#LBRGCalendar&amp;quot;&lt;/span&gt;).length)
    $(&lt;span style="color: #a31515"&gt;&amp;quot;#LBRGCalendar&amp;quot;&lt;/span&gt;).datepicker(&lt;span style="color: #a31515"&gt;'setDate'&lt;/span&gt;, $.datepicker.parseDate(&lt;span style="color: #a31515"&gt;'yy-mm-dd'&lt;/span&gt;, $(&lt;span style="color: #a31515"&gt;'#defaultDate'&lt;/span&gt;).val()));

&lt;span style="color: green"&gt;// 错误的做法，因为DatePicker的setDate接收的日期必须是Date对象而非字符串
&lt;/span&gt;$(&lt;span style="color: #a31515"&gt;&amp;quot;#LBRGCalendar&amp;quot;&lt;/span&gt;).datepicker(&lt;span style="color: #a31515"&gt;'setDate'&lt;/span&gt;,&lt;span style="color: #a31515"&gt;'2009-07-31'&lt;/span&gt;);&lt;/pre&gt;

&lt;p&gt;2)&amp;#160; 判断所获取的文档节点(element)是否存在:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// id为你所要获取的节点id
&lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;($(id).length) {
    &lt;span style="color: green"&gt;// 对该节点进行操作
&lt;/span&gt;}&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;3) 当你在一链接(link)上注册某一事件(比如ajax请求)时不要忘了取消默认的链接行为, 因为点击一个链接时, 执行完捕获/冒泡动作后, 会触发链接的默认事件: 跳转到指定链接地址, 比如href=&amp;quot;#&amp;quot;则在IE下有时会跳到页面顶端, 以往我们为了兼容所有的浏览器, 可以封装一个如下的函数:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;stopDefault(e) {
    &lt;span style="color: green"&gt;// Prevent the default browser action (W3C)
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(e &amp;amp;&amp;amp; e.preventDefault)
        e.preventDefault();
    &lt;span style="color: green"&gt;// A shortcut for stoping the browser action in IE
    &lt;/span&gt;&lt;span style="color: blue"&gt;else
        &lt;/span&gt;window.event.returnValue = &lt;span style="color: blue"&gt;false&lt;/span&gt;;
    
    &lt;span style="color: blue"&gt;return false&lt;/span&gt;;
} &lt;/pre&gt;

&lt;p&gt;如今如果你在使用jQuery框架那你就幸福不少, 因为jQuery已经为你封装了这一函数, 原理一样但更精妙, 你可以直接如此用即可:&lt;/p&gt;

&lt;pre class="code"&gt;$(&lt;span style="color: #a31515"&gt;'#SendToFriend'&lt;/span&gt;).click(&lt;span style="color: blue"&gt;function&lt;/span&gt;(e) {
    &lt;span style="color: green"&gt;// do somthing 比如: $('#EmailToFriendForm').dialog('open');
    
    // 阻止该链接的默认行为
    &lt;/span&gt;e.preventDefault();
});&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;4) 如何进行下拉框或下拉菜单(dropDown, select)等的相关操作,&amp;#160; 不妨看看你之前写过一篇文章 &lt;a href="http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/90/Sharing-some-manipulation-for-HTML-SELECT-with-JQuery.aspx"&gt;如何借助JQuery封装HTML SELECT操作?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5) 如何判断Checkbox是否选中, 目前的常见方式有三种, 不妨作为参考参考:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// First way   
&lt;/span&gt;$(&lt;span style="color: #a31515"&gt;'#checkBox'&lt;/span&gt;).attr(&lt;span style="color: #a31515"&gt;'checked'&lt;/span&gt;);   
  
&lt;span style="color: green"&gt;// Second way   
&lt;/span&gt;$(&lt;span style="color: #a31515"&gt;'#edit-checkbox-id'&lt;/span&gt;).is(&lt;span style="color: #a31515"&gt;':checked'&lt;/span&gt;);   
  
 &lt;span style="color: green"&gt;// Third way   
&lt;/span&gt;$(&lt;span style="color: #a31515"&gt;&amp;quot;[:checkbox]:checked&amp;quot;&lt;/span&gt;).each( &lt;span style="color: blue"&gt;function&lt;/span&gt;() {   
       &lt;span style="color: green"&gt;// Insert code here   
    &lt;/span&gt;}
 ); &lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;6) 利用jQuery创建自动等高的列(元素)布局, 在此分享一个更为简便的函数, 更详细的关于此话题的讨论请查看我之前的一篇文章&lt;a href="http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/94/jQuery-equalizeCols-Plugin.aspx"&gt;jQuery插件开发: equalizeCols Plugin&lt;/a&gt;:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: green"&gt;///&amp;lt;summary&amp;gt;
/// Take a group of elements and make them all the same height
///&amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;equaliseHeights(arrayOfIds){
    &lt;span style="color: blue"&gt;var &lt;/span&gt;maxh = 0, i = arrayOfIds.length, id;
    &lt;span style="color: blue"&gt;while&lt;/span&gt;(i--){
        id = arrayOfIds[i];
        $(id).each(&lt;span style="color: blue"&gt;function&lt;/span&gt;(){
            &lt;span style="color: blue"&gt;if&lt;/span&gt;($(&lt;span style="color: blue"&gt;this&lt;/span&gt;).height() &amp;gt; maxh){
                maxh = $(&lt;span style="color: blue"&gt;this&lt;/span&gt;).height();
            }
        });
        $(id).height(maxh);
        maxh = 0;
    }
}

&lt;span style="color: green"&gt;//如下使用即可, 接收的参数是一组需要设置等高的元素
&lt;/span&gt;equaliseHeights([&lt;span style="color: #a31515"&gt;'.feature .component-container'&lt;/span&gt;]);&lt;/pre&gt;

&lt;p&gt;Enjoy jQuery, :)&lt;/p&gt;</description>
      <link>http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/104/some-awesome-jQuery-tips-and-tricks.aspx</link>
      <author>dnnsun@gmail.com</author>
      <guid isPermaLink="true">http://www.dnnsun.com/Community/BaldwinsBlog/tabid/67/entryid/104/some-awesome-jQuery-tips-and-tricks.aspx</guid>
      <pubDate>Tue, 04 Aug 2009 03:12:44 GMT</pubDate>
      <trackback:ping>http://www.dnnsun.com/DesktopModules/SunBlog/Trackback.aspx?id=104</trackback:ping>
    </item>
  </channel>
</rss>