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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

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

2 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

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

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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