因爲以前的項目基本都是在JQuery 1.7版本,項目中會頻繁使用live()函數來爲JS動態生成的元素綁定事件。今天使用JQuery 2.X版本時,在頁面中調用live()函數卻不起效果,而且控制檯輸出了異常:jquery
TypeError: $(...).live is not a function。
在網上爬了一圈資料後才發現原來live()函數從JQuery 1.9版本起就已經被移除了,取而代之的是優化過的on()函數。ide
在1.7版本中針對動態生成的元素綁定事件,咱們會作以下定義函數
$("a.foo").live("click", fn)
而在1.9之後的版本中咱們能夠使用on()函數來進行相同功能的定義優化
$(document).on("click", "a.foo", fn)
在官方的升級引導中也有詳細的描述。ui