javascript - html中阻止默認(rèn)事件
問(wèn)題描述
<!DOCTYPE HTML><html lang='en-US'><head> <meta charset='UTF-8'> <title></title></head><body> <a onclick = 'return f1()'>騰訊</a> <script type='text/javascript'>//定義f1函數(shù)function f1(){ console.log( ’騰訊被點(diǎn)擊了’); return false;}</script></body></html>
問(wèn)題解答
回答1:onclick是個(gè)函數(shù),不return就是沒(méi)有返回值,怎么阻止默認(rèn)事件?跟你f1是否return沒(méi)有關(guān)系
回答2:能不能阻止默認(rèn)行為是看onclick函數(shù)的返回值,有return的時(shí)候,返回f1的返回值false。
不寫(xiě)return的onlick處理函數(shù)如下,此時(shí)的返回值因?yàn)闆](méi)有return語(yǔ)句,所以默認(rèn)返回undefined
瀏覽器會(huì)對(duì)頁(yè)面元素的某些元素產(chǎn)生默認(rèn)行為。比如一個(gè) a 鏈接點(diǎn)擊之后,會(huì)自動(dòng)跳轉(zhuǎn)至對(duì)應(yīng) href 地址網(wǎng)頁(yè)去;又如一個(gè)表單,當(dāng)你點(diǎn)擊 提交 按鈕之后,默認(rèn)會(huì)將數(shù)據(jù)發(fā)送至 form 的 action 地址去。這些都是瀏覽器的處理頁(yè)面元素的默認(rèn)行為,當(dāng) onlick = 'return false' 時(shí),會(huì)禁止掉這種瀏覽器的默認(rèn)行為。故而你的這段代碼并不會(huì)跳轉(zhuǎn)至 騰訊首頁(yè) 去。<a onclick = 'return f1()'>騰訊</a> function f1(){console.log( ’騰訊被點(diǎn)擊了’);return false; }
另外,你應(yīng)該善用搜索引擎,百度一下,第一條就可以解決掉你的困惑,地址如下:https://zhidao.baidu.com/ques... 。望共同進(jìn)步,共勉之~
回答4:<a onclick='myFun(event)'>123</a>function myFun(e) { e.preventDefault(); console.log(12313123)}
這樣豈不是更簡(jiǎn)單。。。。用e.preventDefault();來(lái)阻止
還有,既然要阻止,干嘛還要在頁(yè)面上寫(xiě)上鏈接。。。
回答5:onclick屬性的值是js代碼,return f1(),如果f1()返回false的話(huà),return f1()就代表return false。當(dāng)然,這個(gè)return是有點(diǎn)多余,但是語(yǔ)法也沒(méi)錯(cuò)。只要語(yǔ)法沒(méi)錯(cuò),實(shí)現(xiàn)了就行。
相關(guān)文章:
1. boot2docker無(wú)法啟動(dòng)2. docker-compose中volumes的問(wèn)題3. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.4. 關(guān)于docker下的nginx壓力測(cè)試5. node.js - antdesign怎么集合react-redux對(duì)input控件進(jìn)行初始化賦值6. java - SSH框架中寫(xiě)分頁(yè)時(shí)service層中不能注入分頁(yè)類(lèi)7. 老師,按tab鍵不起作用怎么回事8. dockerfile - 為什么docker容器啟動(dòng)不了?9. mac里的docker如何命令行開(kāi)啟呢?10. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””

網(wǎng)公網(wǎng)安備