转:jquery的live和on
给元素绑定事件,本人用的jquery版本大多为1.7和1.8的,所以一直习惯于用live(),但是最近朋友突然问我,怎么给新生成的dom元素绑定事件,我随口回答live(),结果他给我说不行,他用的2.1.1的jquery版本。
我突然想起之前看过on()的用法,就是替代live()的,但是用的少,记不清了,今天再记一记,以后尽量用on()~
代码示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/jquery/1.7.0/jquery.js"> </script> <script> $(document).ready(function(){ $("#div1").on("click",function(){ $(this).css("background-color","pink"); }); $("#div2").live("click",function(){ $(this).css("background-color","pink"); }); }); </script> </head> <body> <h4 style="color:green;">该实例演示了如何使用 on() 和 live()。</h4> <div id="div1" style="border:1px solid black;">这是一些文本。 <p>点击此处,使用 <b>on() 方法来设置背景颜色</b>。</p> </div><br> <div id="div2" style="border:1px solid black;">这是一些文本。 <p>点击此处,使用 <b>live() 方法来设置背景颜色</b>。</p> </div> <p><b>注意:</b>live() 方法在 jQuery 版本 1.7 中被废弃,在版本 1.9 中被移除。请使用 on() 方法代替。</p> </body> </html>
live() 方法在 jQuery 版本 1.7 中被废弃,在版本 1.9 中被移除。请使用 on() 方法代替。
聊以记之。