【小结】jQuery事件

鼠标事件
键盘事件
其他事件
事件参数
事件绑定与取消

含fn参数说明有回调函数在里面


鼠标事件-click、dblclick

click:鼠标单击时触发;dblclick:鼠标双击时触发
例如:

$("div").click(function(){
$(this).css("text-indent","0")//点击后首行缩进为0
})
  • 鼠标双击时会触发单击事件,如果要区别开来需要阻止事件冒泡

鼠标事件-mousedown、mouseup

mousedown:鼠标按下时触发
mouseup:鼠标松开时触发
例如:

 $('div').mousedown(function(){
        $(this).css('background-color','red'); //鼠标按下时背景变红
    })
 $('div').mouseup(function(){
        $(this).css('background-color','yellow'); //鼠标按下时背景变黄
    })

鼠标事件-mouseenter、mouseleave

鼠标进入、移出时触发
例如:

    $('li').mouseenter(function(){
        $(this).css('font-size','40px').css('color','red');//鼠标移入时修改字体大小和颜色
    })
    $('li').mouseleave(function(){
        $(this).css('font-size','medium').css('color','black');//鼠标移出时修改字体大小和颜色
    })

鼠标事件-hover

hover([over],out)
将鼠标进入、移出时触发整合成一个函数

     $('li').hover(function()
    { 
     $(this).css('font-size','40px').css('color','red');//鼠标移入时修改字体大小和颜色
    },function()
    {
     $(this).css('font-size','medium').css('color','black');//鼠标移出时修改字体大小和颜色
    })

鼠标事件-mouseover、mouseout

鼠标进入(移出)指定元素及其子元素时触发

  • 由于每个子元素都会触发事件,不利于事件冒泡和捕获,因此不建议使用

鼠标事件-mousemove

mousemove([[data],fn])
在DOM内部移动时会发生mousemove事件

鼠标事件-scroll

scroll([[data,fn])
滚动指定元素时,会发生scroll事件

  • 不一定是通过滚轮,拖动滚动条也可以

键盘事件

  • 按下键盘会触发键盘事件,顺序依次为:keydown->keypress->keyup
    keydown、keypress事件触发在文字还没嵌入到文本框(只是按下字符键,显示的结果)

keydown([[data],fn])

当键盘或按钮被按下时,发生keydown事件

  • 必须要在能获取焦点的地方才能发生事件
  • 在输入法中输入的会有process值

keyup([[data],fn])

当键盘或按钮松开时,发生keydown事件,发生在当前获得焦点(光标)的元素上
例如:

 $('input').keyup(function(){
        $('p').text($(this).val()); //在p标签上实时获取输入值
    })
  • 必须要在能获取焦点的地方才能发生事件
  • 在输入法中输入的会有process值

keypress([[data],fn])

当键盘或按钮被按下时,发生keypress事件

  • 旧版键盘事件,但还是被保留下来了,只有输入内容的时候才响应,ctrl、shift还有输入法等输入不响应,因为没有输入内容

其他事件

其它事件-ready、resize

read(fn)
当DOM载入就绪可以查询及操纵时绑定一个要执行的函数
resize([[data],fn])
当调整浏览器窗口的大小时,发生resize事件

  • 注意是窗口大小,并不是文档大小,可以使用window

其它事件-focus、blur

focus([[data],fn])、blur([[data,fn])
当元帅获得(失去)焦点时触发focus(blus)事件
例如判断输入框是否有内容,并改变边框颜色和提示信息:

$('input').focus(function(){
       $('span').text('请输入用户名');//获取焦点后提示
   })
    $('input').blur(function(){
        if($(this).val() == ''){ //失去焦点后判断
        $(this).css({'border':'2px solid red'});
       $('span').text('用户名不能为空') 
        }
       else{
        $(this).css({'border':'2px solid green'});
        $('span').text('');
       }
   })

其它事件-change

change([[data],fn])
当元素的值发生改变时,会发生change事件

  • 非实时,只有value改变的时候才会发生

4-5 其它事件-select

select([[data],fn])
textarea或者文本类型的input中的文本被选中时触发,可选中并且还能编辑才有效

其它事件-submit

submit([[data],fn])
提交表单时会发生submit事件

  • button 在form中时 在除了IE的其他内核浏览器中 作为submit存在
  • submit事件的用途
    提交表单
    阻止表单提交
    表单验证
    submit()是表单 要提交时 所触发的事件(所以要放在点击事件中)
    所以在submit 的回调函数中 放入验证时所需要进行的操作
    return false时 表单不会被提交

事件参数event

  • 所有事件都会传递一个event参数

事件绑定与取消-on

on(events,[selector].[data].fn)
在选择的元素上绑定一个或者多个事件的事件处理函数
可以参考以下格式:

$(document).on('事件类型; '绑定的元素',fn);
同时绑定多个事件$(document).on({
'事件类型': fn
},{
'事件类型': fn
});
  • [selector]是可以动态生成的
  • 通过{}绑定多个事件

事件绑定与取消-off

off(events,[selector].[data].fn)
在选择的元素上移除一个或者多个事件的事件处理函数

  • jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off (面试竟然问事件绑定有多少种
  • 每个绑定都要对应一个解绑,代码有点冗余
  • document不是一个普通的对象,必须用add()来选择

事件绑定与取消-one

one(type.[data].fn)
为每一个匹配元素的特定事件(比如说click)绑定一个一次性的事件处理函数

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

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,483评论 1 11
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,603评论 2 10
  • 本篇博客源地址 总结: 鼠标事件 1.click与dbclick事件ele.click()ele.click(ha...
    ZombieBrandg阅读 672评论 0 1
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,332评论 0 8
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 1,268评论 0 6