//绑定事件
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
//触发事件
$("button#demo").click()
1.bind()向匹配元素附加一个或更多事件处理器
function handler(event) {
alert(event.data.foo);
}
$("p").bind("click", {foo: "bar"}, handler)
$(*selector*).bind(*event*,*data*,*function*)
*event*
必需。规定添加到元素的一个或多个事件。
由空格分隔多个事件。必须是有效的事件。
*data*
可选。规定传递到函数的额外数据。
*function*
必需。规定当事件发生时运行的函数。
$(selector).bind({event:function, event:function, ...})
2.当输入域失去焦点 (blur) 时改变其颜色:
$("input").blur(function(){
$("input").css("background-color","#D6D6FF");
});
//触发
$(*selector*).blur()
3.当输入域发生变化时改变其颜色:
$(".field").change(function(){
$(this).css("background-color","#FFFFCC");
});
//触发
$(*selector*).change()
3.dblclick() 方法
//当双击按钮时,隐藏或显示元素:
$("button").dblclick(function(){
$("p").slideToggle();
});
//触发
$(*selector*).dblclick()
4.delegate() 方法
向匹配元素的当前或未来的子元素附加一个或多个事件处理器
//当点击鼠标时,隐藏或显示 p 元素:
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
//语法
$(*selector*).delegate(*childSelector*,*event*,*data*,*function*)
6.[error()]触发、或将函数绑定到指定元素的 error 事件
$("img").error(function(){
$("img").replaceWith("
Missing image!
");
});
//触发error
$(*selector*).error()
//绑定
$(*selector*).error(*function*)
event对象方法
7.preventDefault() 方法,isDefaultPrevented()
preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交)。
//防止链接打开 URL:
$("a").click(function(event){
event.preventDefault();
});
$("a").click(function(event){
event.preventDefault();
alert("Default prevented: " +event.isDefaultPrevented()
);});
8.显示指针的位置event.x
显示鼠标指针的位置:
$(document).mousemove(function(e){
$("span").text("X: " + e.pageX + ", Y: " + e.pageY);
});
9.event.result
显示最后一次点击事件返回的结果
$("button").click(function(e) {
$("p").html(e.result);
});
10. event.target 属性
//显示哪个 DOM 元素触发了事件
$("p, button, h1, h2").click(function(event){
$("div").html("Triggered by a " + event.target.nodeName + " element.");
});
11.event.type
显示触发了哪种类型的事件:
$("p").bind('click dblclick mouseover mouseout',function(event){
$("div").html("事件:" + event.type);
});
12.event.which
显示按了哪个键:
$(document).ready(function(){
$("input").keydown(function(event){
$("div").html("Key: " + event.which);
});
});
13 focus()方法
当输入框获得焦点时,改变它的背景色:
$("input").focus(function(){
$("input").css("background-color","#FFFFCC");
});
//触发
$(*selector*).focus()
14.常见事件
[keydown()]
触发、或将函数绑定到指定元素的 key down 事件
[keypress()]
触发、或将函数绑定到指定元素的 key press 事件
[keyup()]
触发、或将函数绑定到指定元素的 key up 事件
[mousedown()]
触发、或将函数绑定到指定元素的 mouse down 事件
[mouseenter()]
触发、或将函数绑定到指定元素的 mouse enter 事件
[mouseleave()]
触发、或将函数绑定到指定元素的 mouse leave 事件
[mousemove()]
触发、或将函数绑定到指定元素的 mouse move 事件
[mouseout()]
触发、或将函数绑定到指定元素的 mouse out 事件
[mouseover()]
触发、或将函数绑定到指定元素的 mouse over 事件
[mouseup()]
触发、或将函数绑定到指定元素的 mouse up 事件
16.load() 方法
$("img").load(function(){
$("div").text("Image loaded");
});
17.向匹配元素添加事件处理器。每个元素只能触发一次该处理器。
语法
$(*selector*).one(*event*,*data*,*function*)
*event*
必需。规定添加到元素的一个或多个事件。
由空格分隔多个事件。必须是有效的事件。
*data*
可选。规定传递到函数的额外数据。
*function*
必需。规定当事件发生时运行的函数。
18.[ready()]文档就绪事件(当 HTML 文档就绪可用时)
$(document).ready(function(){
$(".btn1").click(function(){
$("p").slideToggle();
});
});
//三种语法
$(document).ready(*function*)
$().ready(*function*)
$(*function*)
19.
当调整浏览器窗口的大小时,发生 resize 事件。
resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的函数。
$(window).resize(function() {
$('span').text(x+=1);
});
//触发
$(*selector*).resize()
20.scroll()
当用户滚动指定的元素时,会发生 scroll 事件。
scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。
scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数。
$("div").scroll(function() {
$("span").text(x+=1);
});
对元素滚动的次数进行计数:
21.触发、或将函数绑定到指定元素的 select 事件
当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。
select() 方法触发 select 事件,或规定当发生 select 事件时运行的函数。
$("input").select(function(){
$("input").after(" Text marked!");
});
22.submit() 方法
当提交表单时,显示警告框:
$("form").submit(function(e){
alert("Submitted");
});
//触发
$(*selector*).submit()
定义和用法
当提交表单时,会发生 submit 事件。
该事件只适用于表单元素。
submit() 方法触发 submit 事件,或规定当发生 submit 事件时运行的函数。
23.toggle() 方法
toggle() 方法用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。
该方法也可用于切换被选元素的 [hide()] 与 [show()]
$("p").toggle(
function(){
$("body").css("background-color","green");},
function(){
$("body").css("background-color","red");},
function(){
$("body").css("background-color","yellow");}
);
语法
$(selector).toggle(function1(),function2(),functionN(),...)
(2)隐藏和系那是
$(selector).toggle(switch)
true - 显示元素
false - 隐藏元素
(2)$(selector).toggle(speed,callback)
speed
毫秒(比如 1500)
"slow"
"normal"
"fast"
21.trigger() 方法
触发 input 元素的 select 事件
$("button").click(function(){
$("input").trigger("select");
});
$(*selector*).trigger(*event*,[*param1*,*param2*,...])
*event*
必需。规定指定元素要触发的事件。
可以使自定义事件(使用 bind() 函数来附加),或者任何标准事件。
[*param1*,*param2*,...]
可选。传递到事件处理程序的额外参数。
额外的参数对自定义事件特别有用。
22.triggerHandler() 方法
triggerHandler() 方法触发被选元素的指定事件类型。但不会执行浏览器默认动作,也不会产生事件冒泡。
triggerHandler() 方法与 trigger() 方法类似。不同的是它不会触发事件(比如表单提交)的默认行为,而且只影响第一个匹配元素。
与 trigger() 方法相比的不同之处
它不会引起事件(比如表单提交)的默认行为
.trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡;如果目标元素不直接处理它们,则不会发生任何事情。
该方法的返回的是事件处理函数的返回值,而不是具有可链性的 jQuery 对象。此外,如果没有处理程序被触发,则这个方法返回 undefined。
23.unbind() 方法
移除所有 p 元素的事件处理器:
$("button").click(function(){
$("p").unbind();
});
$(selector).unbind(event,function)
unbind() 方法移除被选元素的事件处理程序。
该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。
ubind() 适用于任何通过 jQuery 附加的事件处理程序。
24.undelegate() 方法
undelegate() 方法删除由 delegate() 方法添加的一个或多个事件处理程序。
从所有元素删除由 delegate() 方法添加的所有事件处理器:
$("body").undelegate();
24. unload 属性,比如退出时用户的确定
当用户点击链接离开本页时,弹出一个消息框:
$(window).unload(function(){
alert("Goodbye!");
});
当用户离开页面时,会发生 unload 事件。
具体来说,当发生以下情况时,会发出 unload 事件:
*点击某个离开页面的链接
*在地址栏中键入了新的 URL
*使用前进或后退按钮
*关闭浏览器
*重新加载页面