回覆列表
  • 1 # 使用者4726030045738

    bind() 是直接繫結在元素上,而 live() 是透過冒泡的方式來繫結到元素上。舉兩個應用場景來說明他們的存在:第一、有一個按鈕,你想要用他來在點選的時候透過 AJAX 提交 form 的請求。因為這裡只有一個按鈕,只繫結一次,你並不需要冒泡這種更費力費資源的方式來冒泡到 document 再指定這個元素。第二、在一個有 20個以上,甚至更多個 li 的 ul 列表中,要讓每一個 li 點選的時候都去觸發相應函式的時候。如果給每個 li 都繫結一個 click 事件,這樣是不是很蛋疼?這時透過 live()(當然更好是用 delegate() 這樣的方法,可以指定一個離 li 更近的父節點),其實只在 document 上繫結一次 click() 事件,你省了 19 次繫結。這是多省記憶體的事。對吧?另外,有同學說兩個會合起來,看完上面的解釋,你覺得呢?哈哈。場景不同,我們需要選擇不同的方式來解決問題,他們提供出來就是為了方便這種不同場景的應用,所以不應該被合併,也不會被合併。

  • 中秋節和大豐收的關聯?
  • 更新手機系統對手機有什麼壞處?