首頁  >  文章  >  web前端  >  淺談jquery事件處理_jquery

淺談jquery事件處理_jquery

WBOY
WBOY原創
2016-05-16 16:02:371072瀏覽

在以jQuery為基礎函式庫的前端開發體系中,常會在一個頁面上透過各種識別綁定許許多多的事件。就算簡單的使用了事件代理,還是造成了事件的分散,不好維護和管理。

那麼,要如何解決這個問題呢?而我,想到了backbone中的events。如下:

複製程式碼 程式碼如下:

events: {
    "click .icon":          "open",
    "click .button.edit":   "openEditDialog",
    "click .button.delete": "destroy"
  }

也就是,把事件聚集在一起,類似事件處理中心這麼一個概念。

簡單的理了一下實現思路:

使用事件代理的方式,將事件綁定到body節點。 (某些事件本身是不冒泡的,在此暫時不做研究)

對於事件的執行對象,給予一個統一標識。

事件的執行函數,集中處理。

複製程式碼 程式碼如下:


   

   
  

// 事件處理中心
var ClickEventCenter = {
    "handler1": function () {
        // do something...
    },
    "handler2": function () {
        // do something...
    }
    // ...
}
// 事件綁定
$body.on("click", "[data-click-center]", function () {
    var handlerName = $(this).data("click-center");
    var handler = ClickEventCenter[handlerName]

    if ($.isFunction(handler)) handler()
})

這樣的話,一種類型的事件,集中在一起。

在某些時候,能夠起到很好的作用。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn