主页

jQuery事件注册

element.事件(function() {

})

$(".btn").click(function() {
    // 事件处理程序
})
其他事件和原生基本一致
比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll等

jQuery事件处理

on() 方法在匹配元素上绑定一个或多个事件的事件处理函数

element.on(events, [selector], fn)
① events:一个或多个用空格分隔的事件类型,如“click”或“keydown”
② selector:元素的子元素选择器
③ fn:回调函数即绑定在元素身上的侦听函数

on() 可以绑定多个事件,多个处理程序

$(".box").on({
    mouseenter: function() {
        $(this).css("color","red")
    },
    click: function() {
        $(this).css("color","blue")
    },
    mouseleave: function() {
        $(this).css("color","green")
    },
})

$(".box").on("mouseenter mouseleave", function() {
    $(this).toggleClass("current")
})

如果有的事件只想触发一次,可以用one() 来绑定事件,使用方法同上

on() 可以事件委派操作

$("ul").on("click", "li", function() {
    alert("Hell Word")
})

on() 可以给动态生成的元素绑定事件

$("ol").on("click", "li", function() {
    alert("Hell Word")
})

事件处理 off() 解绑事件

off() 方法可以移除通过on() 方法添加的事件处理程序

$("div").off() // 解绑div元素所有的事件处理程序

$("div").off("click") // 解绑div元素里面的点击事件

$("ul").off("click", "li") // 解绑事件委托

自动触发事件 trigger()

有些事件希望自动触发,比如轮播图自动播放功能跟点击右侧按钮一致;可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发
element.click() // 第一种简写形式
$("div").click()

element.trigger("click") // 第二种自动触发模式
$("div").trigger("click")

$("div").on("click", function() {
    alert("Hi~")
})
$("div").trigger("click") // 此时自动触发点击事件,不需要鼠标点击

element.triggerHandler(type) // 第三种自动触发模式
$("input").triggerHandler("focus") // 触发事件不会有光标闪烁

jQuery事件对象

事件被触发,就会有事件对象的产生

    element.on(events, [selector], function(event) {
    
    })
  • 阻止默认行为:event.preventDefault() 或者 return false
  • 阻止冒泡:event.stopPropagation()

jQuery

版权属于:Joe
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0

目录

来自 《jQuery-事件》
评论

qiaofugui

博主很懒,啥都没有
188 文章数
14 评论量
3 分类数
191 页面数
已在风雨中度过 2年137天16小时41分