jquery事件

//绑定事件
$(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
*使用前进或后退按钮
*关闭浏览器
*重新加载页面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容

  • 方法描述 bind() 向匹配元素附加一个或更多事件处理器 blur() 触发、或将函数绑定到指定元素的 blur...
    小沙鹰168阅读 205评论 0 0
  • jQuery事件 bind()向匹配元素附加一个或更多事件处理器 blur()触发、或将函数绑定到指定元素的 bl...
    Clover园阅读 194评论 0 0
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,605评论 2 10
  • 本文章是老马jQuery视频的讲义和上课的代码。具体观看视频地址:https://chuanke.baidu.co...
    IT老马阅读 2,581评论 3 14
  • “啊” 夏湘江打了个哈欠,好累啊,“湘江!吃早餐啦”湘江妈妈喊道 “恩,就来就来”湘江嘟囔的说。 没错,这就是...
    薇薇君阅读 362评论 2 1