用1.7前后版本jQuery時(shí)遇到的坑

最近的項(xiàng)目要做一個(gè)網(wǎng)頁,使用到了Bootstrap,導(dǎo)入的jQuery版本是

<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>

同時(shí),里面有一個(gè)四級(jí)聯(lián)動(dòng)的下拉框,在網(wǎng)上找了一個(gè)四級(jí)聯(lián)動(dòng)的demo,修改之后可以使用,但是使用到的jQuery版本是

<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>

剛開始還不知道1.7版本前的jQuery和1.7版本之后的jQuery還有改動(dòng),只是發(fā)現(xiàn)當(dāng)引入較新的jQuery時(shí),Bootstrap的響應(yīng)式布局(導(dǎo)航條)可以使用,但是四級(jí)聯(lián)動(dòng)的下拉框就無法使用;當(dāng)使用版本較老的jQuery版本時(shí),可以使用四級(jí)聯(lián)動(dòng)的下拉框,但是無法使用Bootstrap的響應(yīng)式布局(導(dǎo)航條)。

在網(wǎng)上搜索了一下,發(fā)現(xiàn)了問題:

<b>從jQuery 1.7開始,on() 函數(shù)提供了綁定事件處理程序所需的所有功能,用于統(tǒng)一取代以前的bind()、 delegate()、 live()等事件函數(shù)。</b>

仔細(xì)檢查了一下,發(fā)現(xiàn)四級(jí)聯(lián)動(dòng)的下拉框中用到了 live() 函數(shù)來綁定事件。

$('li' , '#City').live('click' , function(){});

改為用 on() 函數(shù)的寫法應(yīng)該是:

$('#City').on('click' , 'li', function(){});

特別指出,四級(jí)聯(lián)動(dòng)的下拉列表中的元素是在jQuery代碼中動(dòng)態(tài)添加的。

此外,即使符合條件的元素是on()函數(shù)執(zhí)行后新添加,綁定事件對(duì)其依然有效。

附上 jQuery.on() 函數(shù) api 網(wǎng)站:
jQuery.on() 函數(shù) api

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    前端進(jìn)階之旅閱讀 16,940評(píng)論 18 503
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 寶貝兒,今天是你出生的第八十九天,上午在家吃吃睡睡玩兒玩兒,下午媽媽帶著你和姥姥去了媽媽的學(xué)校,這是第一次爸爸不在...
    3237f5d4b965閱讀 132評(píng)論 0 0
  • 產(chǎn)品概念,必要還需學(xué)習(xí)一些產(chǎn)品理念 Apple公司的啟示 【硬件為軟件服務(wù)】軟件直接服務(wù)用戶,滿足用戶需求,而硬件...
    夏花把時(shí)間當(dāng)朋友閱讀 537評(píng)論 0 1

友情鏈接更多精彩內(nèi)容