jQuery bind函数和live函数

堵宪
2023-12-01

jQuery绑定事件函数区别

bind(type,[data],func);

为每个匹配元素的特定事件绑定一个事件处理器函数。

如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。

type:事件类型 example: click mouseover等等。

data:可选 作为event.data属性值 传递给事件对象的额外数据对象

func:绑定到每个匹配元素的事件上面的处理函数。

example1:

function handler(event) { alert(event.data.foo); }

$("p").bind("click", {foo: "bar"}, handler)

example2:$("form").bind("submit", function(event){ event.preventDefault(); });

example3:$("form").bind("submit", function(event){ event.stopPropagation(); });

live(type,func);

给所有当前和将来会匹配的元素绑定一个事件处理函数,同时可绑定自定义事件。

jQuery.min.js.1.3版本支持的事件有:click dbclick mousedown mouseover mouseup mousemove mouseout keydown keypress keyup

live一次只能绑定一个事件,并且live事件只能支持使用选择器选择的元素。

live函数与流行的livequery插件很像。

example:阻止事件冒泡

html code:

<ul><li><b>Google</b></li>

<li><b>Baidu</b></li></ul>  实例来自手册

jQuery code:

$("li").live("click", function(){ $(this).addClass("active"); //live事件可以被阻止冒泡 }).eq(0).bind("click", function(){ $(this).addClass("active"); //普通的click事件是无法阻止冒泡的 }); $("li b").live("click", function(){ $(this).addClass("active"); return false; //阻止冒泡及阻止浏览器默认行为 });

 类似资料: