jquery事件
blur():该函数会调用执行绑定到blur事件的所有函数,包含浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。blur事件会在元素失去焦点的时候触发,既可以使鼠标行为,也可以使tab键离开。
change():这个函数会调用执行绑定到change事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。change事件会在元素失去焦点的时候触发,也会当其值在获得焦点后改变时触发。
click():点击事件会在你的指针设备的按钮在元素上单击时触发。单击的定义是在屏幕的同一点触发了mousedown和mouseup几个事件触发的顺序是:mousedown -> mouseup -> click
dblclick():该函数会调用执行绑定到dblclick事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。dbclick事件会在元素的同一点双击时触发。
error():该函数会调用执行绑定到error事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。
keydown():该函数会调用执行绑定到keydown事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。keydown事件会在键盘按下时触发。
keypress():该事件会在敲击按键时触发。敲击按钮的定义为按下并抬起同一个按键。这几个事件发生的顺序是:keydown -> keyup -> keypress
keyup():该函数会调用执行绑定到keydown事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。keyup会在按键释放时触发。
load():如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。注意:只有当在这个元素完全加载完之前绑定load的处理函数才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jquery会在所有dom加载完成后再绑定load事件。
mousedown():mousedown事件在鼠标在元素上点计划触发
mouseup():会在鼠标点击对象释放时触发
mouseover():通过鼠标在元素上移动来触发,事件处理函数会被传递一个变量-事件对象,其.clientX和.clientY属性代表鼠标的坐标。
mouseout():在鼠标从元素上离开后会触发。
mouseover():在鼠标移入对象时触发。
resize():当文档窗口改变大小时触发
scroll():当滚动条发生变化时触发
select();当用户在文本框(包括input和textarea)中选择某段文本时触发select事件
hover(over,out):一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种"保持在其中"的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数,当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(如:处在div中的图像),如果是,则会继续保持"悬停"状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)
例:鼠标悬停的表格加上特定的类
$("td").hover(
function(){$(this).addClass("hover")},
function(){$(this).removeClass("hover")}
);
toggle(fn,fn):每次点击后依次调用函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一个元素时,则触发指定的第二个函数,如果有更多函数,则再次触发,直到最后一个。随后的每次点击都重复对这几个函数的轮番调用。可以使用unbind("click")来删除。
<ul>
<li>Go to the store</li>
<li>Pick up dinner</li>
<li>Debug crash</li>
<li>Take a jog</li>
</ul>
$(document).ready(function(){
$("li").toggle(
function(){$(this).css({"list-style-type":"disc","color":"blue"})},
function(){$(this).css({"list-style-type":"disc","color":"red"})},
function(){$(this).css({"list-style-type":"","color":""})},
);
})
结果:点击li时,第一遍会添加蓝色样式,第二遍添加红色样式,第三遍样式去除
bind(type,[data],fn):这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false.多数情况下,可以把事件处理函数定义为匿名函数。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数)
function handler(event){
alert(event.data.foo);
}
$("li").bind("click",{foo:"bar"},handler);
one(type,[data],fn):为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
在每个对象上,这个事件处理函数只会被执行一次,其他规则与bind()函数相同。
例:当所有段落被第一次点击的时候,显示所有其文本
$("p").one("click",function(){alert($this).text());})
trigger(type,[data]):这个函数也会导致浏览器默认行为的执行。比如,如果用trigger()触发submit,则同样会导致浏览器提交表单。
$("li").bind("myEvent",function(event,message1,message2){
//一个普通的点击事件时,message1,message2是undefined类型。
//如果用下面的语句触发,那么message1指向hello,message2指向world
triggerHandler(type,[data])
alert(message1+""+message2);
});
$("p").trigger("myEvent",["Hello","World"]);
加载时会显示hello world.
<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/>
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){ $("<span>Focused!</span>").appendTo("body").fadeOut(1000); });
点击focus按钮时,文本框里有有focus。点击triggerHandler按钮,则文本框不会聚焦
unbind([type],[data]):bind()的反向操作,从每一个匹配的元素中删除绑定的事件
如果没有参数,则删除所有绑定的事件。
var foo = function () {
// 处理某个事件的代码
};
$("p").bind("click", foo); // ... 当点击段落的时候会触发 foo
$("p").unbind("click", foo); // ... 再也不会被触发 foo
live(type,fn) : 给所有当前以及将来会匹配的元素绑定一个事件处理函数,也能绑定自定义事件
目前支持click,dblckick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup,还不支持 blur, focus, mouseenter, mouseleave, change, submit
与bind()不同的是,live()一次只能绑定一个事件
这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来绑定事件使用委派的方式。比如说:如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。
ready(fn):当dom载入就绪可以查询及操纵时绑定一个要执行的函数。
这事事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在dom载入就绪能够读取并操纵时立即调用你所绑定的函数。

浙公网安备 33010602011771号