﻿<?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-Hafeyang's Tech Space-随笔分类-Jquery</title><link>http://www.blogjava.net/Hafeyang/category/37213.html</link><description>长于前端开发。乐意分享。</description><language>zh-cn</language><lastBuildDate>Fri, 06 May 2011 14:21:40 GMT</lastBuildDate><pubDate>Fri, 06 May 2011 14:21:40 GMT</pubDate><ttl>60</ttl><item><title>jQuery中的stopImmediatePropagation与stopPropagation的区别</title><link>http://www.blogjava.net/Hafeyang/archive/2011/05/06/stoppropagataion_vs_stopimmediatepropagation.html</link><dc:creator>阳衡锋</dc:creator><author>阳衡锋</author><pubDate>Fri, 06 May 2011 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/Hafeyang/archive/2011/05/06/stoppropagataion_vs_stopimmediatepropagation.html</guid><wfw:comment>http://www.blogjava.net/Hafeyang/comments/349697.html</wfw:comment><comments>http://www.blogjava.net/Hafeyang/archive/2011/05/06/stoppropagataion_vs_stopimmediatepropagation.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hafeyang/comments/commentRss/349697.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hafeyang/services/trackbacks/349697.html</trackback:ping><description><![CDATA[有这么个需求。要在一个文本框上监听两个事件，例如:
<div>&nbsp;</div>
<div>
<div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; 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, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script&nbsp;</span><span style="color: rgb(255, 0, 0);">type</span><span style="color: rgb(0, 0, 255);">="text/javascript"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">function</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">#t</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">).keyup(</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">function</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">#s</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">).html(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">keyup1</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">//</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">stopImmediatePropagation可以阻止在这之后绑定的事件</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);"><br />
</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">//</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">比较注释和不注释这一行的区别</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);"><br />
</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.stopImmediatePropagation();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">#t</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">).keyup(</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">function</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">#s</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">).html(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">keyup2</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />
&nbsp;&nbsp;&nbsp;&nbsp;</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&nbsp;</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);">&nbsp;id</span><span style="color: rgb(0, 0, 255);">="t"</span><span style="color: rgb(255, 0, 0);">&nbsp;name</span><span style="color: rgb(0, 0, 255);">=""</span><span style="color: rgb(255, 0, 0);">&nbsp;value</span><span style="color: rgb(0, 0, 255);">=""</span><span style="color: rgb(255, 0, 0);">&nbsp;</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);">span&nbsp;</span><span style="color: rgb(255, 0, 0);">class</span><span style="color: rgb(0, 0, 255);">=""</span><span style="color: rgb(255, 0, 0);">&nbsp;id</span><span style="color: rgb(0, 0, 255);">="s"</span><span style="color: rgb(0, 0, 255);">&gt;&lt;/</span><span style="color: rgb(128, 0, 0);">span</span><span style="color: rgb(0, 0, 255);">&gt;</span></div>
</div>
<div>&nbsp;</div>
<div>如果在第一个事件中需要阻止第二个事件的执行可以在第一个事件中使用event.stopImmediatePropagation方法。jQuery的event的对象是增强的event对象，<br />
stopImmediatePropagation就是jQuery独有的一种阻止jQuery绑定事件机制。可以通过<span style="font: 16px/normal Simsun; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; border-collapse: separate; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="Apple-style-span"><span style="color: rgb(34, 34, 34); line-height: 20px; font-family: monospace; font-size: 13px;" class="Apple-style-span"><a style="border-width: 0px; margin: 0px; padding: 0px; color: rgb(15, 103, 161); font-size: 13px; text-decoration: underline; vertical-align: baseline; outline-width: 0px; background-color: transparent;" href="http://api.jquery.com/event.isImmediatePropagationStopped">isImmediatePropagationStopped()</a></span></span>来判断是否阻止了jQuery立即冒泡。</div>
<div>&nbsp;</div>
<div>stopImmediatePropagation的实现可以参见我之前的一篇文章，<a href="http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html">从jQuery的缓存到事件监听</a>
在这篇文章中提到jQuery将事件都缓存在一个数组中按照先后顺序执行。如果stopImmediatePropagation就停止执行数组中的监听函数。</div>
<div>&nbsp;</div>
<div>stopPropagation是阻止默认事件监听函数。不是jQuery独有，阻止默认事件的冒泡，比如监听了DOM节点和该节点的父节点的事件，默认是事件执行将从里到外，这就是所谓的冒泡。在IE9-浏览器中可以使用event.cancelBubble=false来做到，标准浏览器使用event.stopPropagation方法。jQuery也把stopPropagation扩展方式到IE上这样有了一致的方法。</div>
<div>&nbsp;</div>
<div>综上所述，其实stopImmediatePropagation与stopPropagation就不是一个东西，所以也不存在什么区别了。</div>
<div>
<div>参考资料</div>
<div>http://api.jquery.com/event.stopImmediatePropagation/
<div>
<div>http://stackoverflow.com/questions/5299740/jquery-stoppropagation-vs-stopimmediatepropagation</div>
</div>
</div>
</div>
<div>http://api.jquery.com/event.stopImmediatePropagation/
</div>
<div>http://stackoverflow.com/questions/5299740/jquery-stoppropagation-vs-stopimmediatepropagation</div>
<div>&nbsp;</div>
  <img src ="http://www.blogjava.net/Hafeyang/aggbug/349697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hafeyang/" target="_blank">阳衡锋</a> 2011-05-06 18:04 <a href="http://www.blogjava.net/Hafeyang/archive/2011/05/06/stoppropagataion_vs_stopimmediatepropagation.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>datagrid性能（一）：性能问题何来？</title><link>http://www.blogjava.net/Hafeyang/archive/2011/01/18/the_performance_challenge_of_datagrid_you_may_face.html</link><dc:creator>阳衡锋</dc:creator><author>阳衡锋</author><pubDate>Tue, 18 Jan 2011 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/Hafeyang/archive/2011/01/18/the_performance_challenge_of_datagrid_you_may_face.html</guid><wfw:comment>http://www.blogjava.net/Hafeyang/comments/343131.html</wfw:comment><comments>http://www.blogjava.net/Hafeyang/archive/2011/01/18/the_performance_challenge_of_datagrid_you_may_face.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/Hafeyang/comments/commentRss/343131.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hafeyang/services/trackbacks/343131.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在grid中放大数据量时的性能问题分析。&nbsp;&nbsp;<a href='http://www.blogjava.net/Hafeyang/archive/2011/01/18/the_performance_challenge_of_datagrid_you_may_face.html'>阅读全文</a><img src ="http://www.blogjava.net/Hafeyang/aggbug/343131.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hafeyang/" target="_blank">阳衡锋</a> 2011-01-18 10:25 <a href="http://www.blogjava.net/Hafeyang/archive/2011/01/18/the_performance_challenge_of_datagrid_you_may_face.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从jQuery的缓存到事件监听</title><link>http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html</link><dc:creator>阳衡锋</dc:creator><author>阳衡锋</author><pubDate>Tue, 04 Jan 2011 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html</guid><wfw:comment>http://www.blogjava.net/Hafeyang/comments/342286.html</wfw:comment><comments>http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/Hafeyang/comments/commentRss/342286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hafeyang/services/trackbacks/342286.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过分析jQuery缓存的实现，更好的理解jQuery的事件监听机制。&nbsp;&nbsp;<a href='http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html'>阅读全文</a><img src ="http://www.blogjava.net/Hafeyang/aggbug/342286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hafeyang/" target="_blank">阳衡锋</a> 2011-01-04 15:20 <a href="http://www.blogjava.net/Hafeyang/archive/2011/01/04/jquery_cache_and_events_bind.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决IE下javascript:void(0)会触发window.onbeforeunload事件</title><link>http://www.blogjava.net/Hafeyang/archive/2010/04/27/fix_anchor_of_href_javascript_void_trigger_window_onbeforeunload_event_at_IE.html</link><dc:creator>阳衡锋</dc:creator><author>阳衡锋</author><pubDate>Tue, 27 Apr 2010 02:01:00 GMT</pubDate><guid>http://www.blogjava.net/Hafeyang/archive/2010/04/27/fix_anchor_of_href_javascript_void_trigger_window_onbeforeunload_event_at_IE.html</guid><wfw:comment>http://www.blogjava.net/Hafeyang/comments/319445.html</wfw:comment><comments>http://www.blogjava.net/Hafeyang/archive/2010/04/27/fix_anchor_of_href_javascript_void_trigger_window_onbeforeunload_event_at_IE.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Hafeyang/comments/commentRss/319445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hafeyang/services/trackbacks/319445.html</trackback:ping><description><![CDATA[<p>先看看问题现象</p>
<p>&nbsp;</p>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; border-left-color: #cccccc; padding-bottom: 4px; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
window.onbeforeunload</span><span style="color: #000000">=</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">onbeforeunload&nbsp;event<img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">return&nbsp;false;</span><span style="color: #008000"><br />
</span><span style="color: #000000">}<br />
</span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">a&nbsp;href</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">return&nbsp;true;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">测试1</span><span style="color: #000000">&lt;/</span><span style="color: #000000">a</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">a&nbsp;href</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">javascript:void(0)</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">return&nbsp;true;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">测试2</span><span style="color: #000000">&lt;/</span><span style="color: #000000">a</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">a&nbsp;href</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">javascript:void(0)</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">return&nbsp;false;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">测试3</span><span style="color: #000000">&lt;/</span><span style="color: #000000">a</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">a&nbsp;href</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">javascript:void(alert('test&nbsp;4<img alt="" src="http://www.blogjava.net/Images/dot.gif" />.'))</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">return&nbsp;true;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">测试4</span><span style="color: #000000">&lt;/</span><span style="color: #000000">a</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">a&nbsp;href</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">javascript:void(alert('test&nbsp;5<img alt="" src="http://www.blogjava.net/Images/dot.gif" />.'))</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">return&nbsp;false;</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">测试5</span><span style="color: #000000">&lt;/</span><span style="color: #000000">a</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">br</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
</span></div>
<p>&nbsp;</p>
<p>IE下,"测试4"，"测试5"会触发window.onbeforeunload事件。这是因为<span style="font-size: 14px; line-height: 21px; font-family: verdana, sans-serif">，点击事件触发的时候（<strong>调用顺序：onclick-&gt;window.onbeforeunload-&gt;href</strong>）。</span></p>
<p><font face="verdana, sans-serif" size="4"><span style="font-size: 14px; line-height: 21px">实际使用的时候还是尽量避免使用javascript:void(0)这样的写法,可以使用 &lt;a href="###"&gt;&lt;/a&gt;可以防止锚点，但是如果已经写了。可以用jQuery的live方法解决：</span></font></p>
<p><font face="verdana, sans-serif" size="4"></font></p>
<font face="verdana, sans-serif" size="4">
<p>jQuery 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数（比如click事件）。也能绑定自定义事件。</p>
<p>目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。&nbsp;</p>
<p>还不支持 blur, focus, mouseenter, mouseleave, change, submit&nbsp;</p>
<p>与bind()不同的是，live()一次只能绑定一个事件。</p>
<p><br />
</p>
<p>这个方法跟传统的bind很像，区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说，如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时，对于这个新增加的li，其click事件依然可用。而无需重新给这种新增加的元素绑定事件。</p>
<p><br />
</p>
<p>.live()与流行的liveQuery插件很像，但有以下几个主要区别：</p>
<p>&nbsp;</p>
<ul>
    <li>.live 目前只支持所有事件的子集，支持列表参考上面的说明。
    </li>
    <li>.live 不支持liveQuery提供的&#8220;无事件&#8221;样式的回调函数。.live只能绑定事件处理函数。
    </li>
    <li>.live 没有"setup"和"cleanup"的过程。因为所有的事件是委派而不是直接绑定在元素上的。 </li>
</ul>
<p>&nbsp;</p>
<p>要移除用live绑定的事件，请用die方法。</p>
<p>具体的解决代码为：</p>
<p>&nbsp;</p>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; border-left-color: #cccccc; padding-bottom: 4px; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000">//</span><span style="color: #008000">IE&nbsp;javascript:void(0)会触发window.onbeforeunload事件</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(document.all){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000">"</span><span style="color: #000000">a[href='javascript:void(0)']</span><span style="color: #000000">"</span><span style="color: #000000">).live(</span><span style="color: #000000">"</span><span style="color: #000000">click</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;(e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<p>&nbsp;</p>
</font>
<p>&nbsp;</p>
<p>使用live方法对于新增的&lt;a href="javascript:void(0)"&gt;&lt;/a&gt;仍有效，使用例如jQuery datepick会动态的生成很多这样a标签，使用上述方法可以很好的解决这个问题</p>
<img src ="http://www.blogjava.net/Hafeyang/aggbug/319445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hafeyang/" target="_blank">阳衡锋</a> 2010-04-27 10:01 <a href="http://www.blogjava.net/Hafeyang/archive/2010/04/27/fix_anchor_of_href_javascript_void_trigger_window_onbeforeunload_event_at_IE.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>