日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jq事件注意点

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jq事件注意点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接受數據參數--解決不同作用域下數據傳遞的問題

  <div id="test">點擊觸發</div>

  $('#test').click('001',function(e){

      alert(e.data)  //彈出001

  });

mouseenter與mouseover(mouseout與mouseleave)的區別---關鍵是冒泡的方式處理問題

  <div>

    <p></p>

  </div>

  如果在div與p中都綁定mouseover,鼠標在離開p但沒離開div時,出現p與div都響應事件,因為先觸發p然后冒泡。

  mouseenter事件只會在綁定它的元素上被調用,不會在后代節點上被觸發。。

foucus(blur)與foucusin(foucusout)的區別---是否支持冒泡處理

  前者不冒泡,或者冒泡

hover方法

  $(selector).hover(handlerIn, handlerOut)

  • handlerIn(eventObject):當鼠標指針進入元素時觸發執行的事件函數
  • handlerOut(eventObject):當鼠標指針離開元素時觸發執行的事件函數

  $("p").hover(
      function() {
        $(this).css("background", 'red');
      },
      function() {
        $(this).css("background", '#bbffaa');
      }
  );

on()的多事件綁定?on( events [, selector ] [, data ] )

  多個事件綁定同一函數

    $('*').on('mouseover mouseout',function(){});

  多個事件綁定不同函數

    $(*).on({

      mouseover:function(){},

      mouseout:function(){},

    });

  將數據傳遞到處理程序

    $('*).on('click',{name:'my',age:'36'},function(e){

      alert(e.data.name);

    })

  委托機制

    .on(events,[,selector][,data],handler(eventObject))

    如:

      <div>

        <p>

          <a>目標節點</a>

        </p>

      </div>

    $('div').on('click','p',fn)

     事件綁定在最上層div元素上,當用戶觸發在a元素上,事件將往上冒泡,一直會冒泡在div元素上。如果提供了第二參數,那么事件在往上冒泡的過程中

     遇到了選擇器匹配的元素,將會觸發事件回調函數。

  事件委托

    利用瀏覽器的冒泡特性,給父元素綁事件,用e.target判斷被觸發的元素,做相應的function。

    (e:事件對象---是用來記錄一些事件發生時的相關信息的對象。只在事件發生時產生,只能是事件處理函數內部訪問,在所有事件處理函數運行結束后,

      事件對象就被銷毀)。

  jQuery事件屬性方法

    e.type/pageX/pageY/preventDefault()/stopPropagation()/which/currentTarget(等同于this).

    this與e.target的區別:

        冒泡過程中this是可以變化的,但e.target永遠是直接接受事件的目標DOM元素

    this與e.target都是dom對象,用jq需要轉換為$(this),$(e.target)

trigger事件--根據綁定到匹配元素的給定的事件類型執行所有的處理程序和行為

   $('#elem').trigger('click') //不同點擊直接運行click時的fn。

   trigger還支持自定義事件,支持傳遞參數

      $('#elem').on('Aaron',function(e,arg1,arg2){

        alert('自觸自定義事件')

      });

      $('#elem').trigger('Aaron',['參數1','參數2']);

trigger觸發瀏覽器事件與自定義事件的區別:

   自定義事件對象,是jQuery模擬原生實現的

   自定義事件可以傳遞參數

triggerHandler--觸發通過 jQuery 綁定的事件處理函數,而不觸發原生的事件

   trigger與triggerHandler用法一樣,不同點:

  • riggerHandler不會觸發瀏覽器的默認行為,.triggerHandler( "submit" )將不會調用表單上的.submit()
  • .trigger() 會影響所有與 jQuery 對象相匹配的元素,而 .triggerHandler() 僅影響第一個匹配到的元素
  • 使用 .triggerHandler() 觸發的事件,并不會在 DOM 樹中向上冒泡。 如果它們不是由目標元素直接觸發的,那么它就不會進行任何處理
  • 與普通的方法返回 jQuery 對象(這樣就能夠使用鏈式用法)相反,.triggerHandler() 返回最后一個處理的事件的返回值。如果沒有觸發任何事件,會返回 undefined

轉載于:https://www.cnblogs.com/sao-di-seng/p/5488987.html

總結

以上是生活随笔為你收集整理的jq事件注意点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。