jQueryon()方法jQuery事件方法实例向p元素添加click事件处理程序:$(p).on(click,function(){alert(Theparagraphwasclicked.);});尝试一下»定义和用法on()方法在被选元素及子元素上添加一个或多个事件处理程序。自jQuery版本1.7起,on()方法是bind()、live()和delegate()方法的新的替代品。该方法给API带来很多便利,我们推荐使用该方法,它简化了jQuery代码库。注意:使用on()方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。提示:如需移除事件处理程序,请使用off()方法。提示:如需添加只运行一次的事件然后移除,请使用one()方法。语法$(selector).on(event,childSelector,data,function,map)参数描述event必需。规定要从被选元素移除的一个或多个事件或命名空间。由空格分隔多个事件值。必须是有效的事件。childSelector可选。规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的delegate()方法)。data可选。规定传递到函数的额外数据。function可选。规定当事件发生时运行的函数。map规定事件映射({event:function,event:function,...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。一些说明:bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数$(a).bind(click,function(){alert(ok);});live(type,[data],fn)给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的$(a).live(click,function(){alert(ok);});delegate(selector,[type],[data],fn)指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数$(#container).delegate(a,click,function(){alert(ok);})on(events,[selector],[data],fn)在选择元素上绑定一个或多个事件的事件处理函数差别:.bind()是直接绑定在元素上.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到documentDOM节点上。和.bind()的优势是支持动态数据。.delegate()则是更精确的小范围使用事件代理,性能优于.live().on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制最后有一点,原先的live()方法,处理函数是默认绑定在document对象上不能变的,如果DOM嵌套结构很深,事件冒泡通过大量祖先元素会导致较大的性能损失。而使用.on()方法,事件只会绑定到$()函数的选择符表达式匹配的元素上(上面我的例子中,为了简单绑定到了document),因此可以精确地定位到页面中的一部分,而事件冒泡的开销也可以减少。delegate()与on()同理,毕竟是用on()实现的: