第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在javascript或者jQuery中綁定按鈕點擊事件,和在HTML 標簽中直接調(diào)用onclick屬性有什么區(qū)別?

在javascript或者jQuery中綁定按鈕點擊事件,和在HTML 標簽中直接調(diào)用onclick屬性有什么區(qū)別?

BIG陽 2019-04-09 20:23:31
RT,做Web開發(fā)經(jīng)常能遇到需要給一個按鈕綁定一個點擊事件的情況。例如HTML標簽:Bar第一種,如果使用jQuery綁定點擊事件的一種做法是:$("#foo").click(function(event){/*Actontheevent*/});第二種,純js的做法可以是這樣:document.getElementById('#foo').addEventListener('click',function(){/*Actontheevent*/},false);第三種,我們也可以直接在button標簽中使用onclick,例如:Bar同時在head或者單獨的js文件中定義dosomething()functiondosomething(){/*Actontheevent*/}請問從響應(yīng)速度,后期維護等方面來看哪一種方法是bestpractice?或者在什么情況下這幾種方法最合適?
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經(jīng)驗 獲得超8個贊

HTML或原生js是單一對應(yīng)綁定的,綁多了只留最后一個。jQuery是追加綁定的,綁多少執(zhí)行多少。這個在每一本jQuery的書中都是首先提到的事情。
在單一綁定的條件下,由于jQuery底層其實也是js實現(xiàn),所以速度區(qū)別并不大。至少“綁定”這個環(huán)節(jié)并不會成為速度的瓶頸。
總有人認為jQuery只是一堆無用的語法糖……但事實上,按照二八規(guī)律,至少80%以上的程序員,在做負載等要求不那么嚴格的“小程序”。所以從維護的角度上,我建議用jQuery綁定,簡單清楚,最容易維護。
原生js,這是真正的熟練者的工具,如果能寫明白那可能更不錯。
唯一不能容忍的是HTML中用onclick事件混雜js。這樣做的結(jié)果就是html前端和js前端的工作混在了一起,難以分離工作任務(wù),進而難以維護,“項目毀于各部門的扯皮和推諉之中”。這種做法臨時調(diào)試可以,但如果正式成品中大范圍出現(xiàn),那么html和js部分的責(zé)任人都必須檢討。
                            
查看完整回答
反對 回復(fù) 2019-04-09
?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

第一種和第二種的效果是一樣,可以附加多個事件處理函數(shù),并不是只有使用jquery才能做到。
第三種方法不推薦使用,原則上HTML代碼只能體現(xiàn)網(wǎng)頁的結(jié)構(gòu),具體的行為應(yīng)該使用javascript代碼進行綁定。
除非頁面上綁定事件的元素超過上萬個,否則響應(yīng)速度的時候就不必糾結(jié)了,只做個事件綁定還是很快的。我測試了一下,使用addEventListener綁定3000次,耗時3-4毫秒。
如果項目中統(tǒng)一使用jQuery的話,建議使用第一種做法,順便還解決了IE的不兼容問題。
                            
查看完整回答
反對 回復(fù) 2019-04-09
  • 2 回答
  • 0 關(guān)注
  • 1542 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號