jQuery事件註冊的實現示范

jQuery 事件註冊

  • 事件註冊on
  • 優勢1:多個事件綁定

on()方法可以在匹配元素上綁定一個或多個事件處理函數

語法:element.on(events,[selector],fn)

  • events:一個或多個用空格分隔的事件類型 例如:click,keydown
  • selector:元素的子元素選擇器
  • fn:回調函數,綁定在元素身上的偵聽函數
1.單個事件註冊
$('div').click(function(){
    $(this).css('background','pink');
})
$('div').mouseenter(function(){
    $(this).css('background','purple');
})
----------------------------------------------------------
2.多個事件註冊 on
$('div').on({
    mouseenter:function(){
        $(this).css('background','purple')
    },
    click:function(){
        $(this).css('background','pink')
    }
})
>> 以'對象'的形式來書寫多個事件註冊
3.鼠標經過和離開都觸發這個函數
.current{background:'blue'};
$('div').on('mouseenter mouseleave',function(){
    $(this).toggleClass('current');
})

優勢2:可以事件委派操作

$("ul").on("click", 'li', function() {
      alert('11')
});
// click是綁定在ul身上,但是觸發對象是li

優勢3:動態的創建元素 on可以給動態生成的元素綁定事件

$('ol').on('click', 'li', function() {
      alert('可以彈出');
})
var li = $("<li>我是後來創建的</li>");
$('ol').append(li);

事件處理

off( )解綁事件

off( )方法移除通過on( ) 方法添加的事件處理程序

$("p").off()  // 解除p元素所有事件處理程序
$("p").off('click')  // 解除p元素上面的點擊事件
$("ul").off('click','li')  // 解除事件委托

有的事件隻想觸發一次,可以使用one()來綁定事件

$("p").one('click', function() {
     console.log(134);
})
>> p元素隻在`第一次點擊的時候觸發`,之後`不再執行函數`

自動觸發事件 trigger( )

1. element.click();  // 第一種簡寫模式
>> $("div").click();
2. element.trigger('要觸發的事件');  // 第二種自動觸發方式
>> $("div").trigger('click')
3. elememnt.triggerHandler('type')  // 第三種自動觸發方式   不會觸發元素的默認行為 (比如文本框光標閃爍)
>> $("div").triggerHandler('click')

事件對象:e event

語法:element.on(events,[selector],function(e || event){});

$("div").on('click',function(e){
    console.log(e);
})
  • 阻止默認行為:event.preventDefault( ) 或者 return false
  • 阻止冒泡:event.stopPropagation( )

到此這篇關於jQuery事件註冊的實現示范的文章就介紹到這瞭,更多相關jQuery事件註冊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: