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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jQuery1.9+中删除了live以后的替代方法

發(fā)布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jQuery1.9+中删除了live以后的替代方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

根據(jù)jQuery的官方描述,live方法在1.7中已經(jīng)不建議使用,在1.9中刪除了這個方法。并建議在以后的代碼中使用on方法來替代。

on方法可以接受三個參數(shù):事件名、觸發(fā)選擇器、事件函數(shù)。

需要特別注意的是:on方法中間的這個觸發(fā)選擇器就是你將要添加的HTML元素的類名、id或者元素名,使用它就可以實現(xiàn)live的效果。

例如我的html文檔中已經(jīng)有了一個id為parent的div,我將要在這個div內(nèi)部再動態(tài)添加一個class為son的span,然后我為這個span綁定一個事件,那么我需要這樣寫:

$('#parent').on('click','.son',function(){alert('test')});

這個觸發(fā)選擇器實際上就是在 JQ內(nèi)部判斷了一次事件參數(shù)的$(e.target).is(selector),只有觸發(fā)對象匹配觸發(fā)選擇器才會觸發(fā)。這是利用了事件冒泡的機制來完成 的,原本的live也是使用冒泡機制所以既然on可以實現(xiàn)那么live也就沒有存在的必要了,只不過為了兼容讓它從1.7茍延殘喘的活到了1.9而已。

這篇文章也沒啥內(nèi)容了,接下來就用這個功能做點有意義的事情示范下吧~ 在低版本IE中A標簽在鼠標按下時候會出現(xiàn)虛線邊框,這是由focus造成的。我們只要在全局事件中做點手腳就能解決這個問題。在現(xiàn)代瀏覽器中focus是不冒泡的,但是低版本瀏覽器中可以冒泡。所以對于低版本瀏覽器中對focus使用live是有效的。在jQuery1.9之前的版本我們可以這樣寫:

$("a").live("focus",function(){this.blur(); });

jQuery1.9之后由于live被刪除了,所以應(yīng)該這樣寫:

$(document).on("focus","a",function(){this.blur(); });

還要注意個問題,如果是從live的寫法換成on的寫法別忘了調(diào)整調(diào)用鏈。因為live的返回值是事件觸發(fā)的對象,而使用on則是在容器對象上。

//jQuery1.9- $("#panel").find("div").live("click",function(){alert("x"); }).addClass("x");//jQuery1.9+ $("#panel").on("click","div",function(){alert("x"); }).find("div").addClass("x");?  

注意最后的find("div"),其它就沒什么問題了。下面是官方說明

http://jquery.com/upgrade-guide/1.9/#live-removed


轉(zhuǎn)載于:https://my.oschina.net/wolfx/blog/617942

總結(jié)

以上是生活随笔為你收集整理的jQuery1.9+中删除了live以后的替代方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。