當我們使用jQuery函數來處理DOM元素時,會經常遇到一個問題:live()方法無法使用,會提示“undefined”錯誤。下面我們來看一下這個問題的原因和解決方案。
//例如下面這段代碼 $('.btn').live('click', function() { console.log('clicked'); });
出現live() undefined的錯誤,是因為從jQuery 1.9版開始,live()方法已經被廢棄,不能再使用。改用on()方法來代替live(),如下:
//替換成下面的代碼 $('body').on('click', '.btn', function() { console.log('clicked'); });
這里的第一個參數是事件類型,第二個參數是一個選擇器字符串,表示要處理的元素的選擇器,第三個參數是事件處理函數。這里的選擇器可以是任何有效的選擇器(如 .btn、.btn >.child等等),這些元素可以是在事件綁定之前動態添加到文檔中的。
總之,如果你遇到了live() undefined的問題,只需要用on()方法來代替live()即可。