标签:style blog class c code java
1、.bind()
描述: 为一个元素绑定一个事件处理程序。
.bind()一个基本的用法:
$(selector).bind('click', function() { alert('User clicked on "foo."'); });可以直接用原生js替代为:
$(selector).click( function() { alert('User clicked on "foo."'); });在jQuery1.4.3,您现在可以通过传递false代替一个事件处理程序。这将相当于一个事件处理程序绑定写成这样:function(){ return false; }。在以后通过调用.unbind( eventName, false )来移除这个函数。
具体请参照:http://www.css88.com/jqapi-1.9/bind/
2、live()
描述: 附加一个事件处理器到匹配目前选择器的所有元素,现在和未来。
.live()方法是简单的;以下是三种事件添加方法的模板,它们是等价的:
$(selector).live(events, data, handler); // jQuery 1.3+ $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+ $(document).on(events, selector, data, handler); // jQuery 1.7+events 参数可以是一个空格隔开的事件类型名称的列表和可选的命名空间,或事件名称字符串和处理程序的对象。data参数是可选的,可以省略。例如,以下三种方法调用方式在功能上是相同的(后文还提供了更有效,性能更好的添加代理事件处理的方式):
$("a.b").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+ $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+ $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+.live()方法不再推荐使用。特别是,使用.live()出现的以下问题:
具体请参照:http://www.css88.com/jqapi-1.9/live/
例子:
Example: 点击段落时,添加另一个段落。注意,.live() 会为所有的段落(包括新生成的段落)绑定事件。
$("a").live("click", function() { return false; })
$("a").live("click", function(event){ event.preventDefault(); });
$("p").live("myCustomEvent", function(e, myName, myValue) { $(this).text("Hi there!"); $("span").stop().css("opacity", 1) .text("myName = " + myName) .fadeIn(30).fadeOut(1000); }); $("button").click(function () { $("p").trigger("myCustomEvent"); });
$("p").live({ click: function() { $(this).after("<p>Another paragraph!</p>"); }, mouseover: function() { $(this).addClass("over"); }, mouseout: function() { $(this).removeClass("over"); } });3、delegate()
这些是两种方法的等效的方法:
// jQuery 1.4.3+ $( elements ).delegate( selector, events, data, handler ); // jQuery 1.7+ $( elements ).on( events, selector, data, handler );
$("table").delegate("td", "click", function() { $(this).toggleClass("chosen"); });
是等价于下面使用.on()的代码:
$("table").on("click", "td", function() { $(this).toggleClass("chosen"); });
直接给例子:
<script type="text/javascript"> $(document).ready(function(){ $("p").delegate("dragstart",function(){ $(this).append("<span>发生了dragstart事件</span>"); }); $("#btn").click(function(){ $("p").undelegate("dragstart"); }); }); </script>
4、on()
jQuery on()方法是官方推荐的绑定事件的一个方法。
$(selector).on(event,childSelector,data,function,map)直接上例子:tip:如果你需要移除on()所绑定的方法,可以使用off()方法处理。
$(document).ready(function(){ $("p").on("click",function(){ $(this).css("background-color","pink"); }); $("button").click(function(){ $("p").off("click"); }); });
$(document).ready(function(){ $("p").one("click",function(){ $(this).animate({fontSize:"+=6px"}); }); });
Jquery之事件绑定(bind(),live(),delegate(),on()),布布扣,bubuko.com
Jquery之事件绑定(bind(),live(),delegate(),on())
标签:style blog class c code java
原文地址:http://blog.csdn.net/zz410675629/article/details/26482299