javascript - html中阻止默認(rè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>
問題解答
回答1:onclick是個(gè)函數(shù),不return就是沒有返回值,怎么阻止默認(rèn)事件?跟你f1是否return沒有關(guān)系
回答2:能不能阻止默認(rèn)行為是看onclick函數(shù)的返回值,有return的時(shí)候,返回f1的返回值false。
不寫return的onlick處理函數(shù)如下,此時(shí)的返回值因?yàn)闆]有return語句,所以默認(rèn)返回undefined
瀏覽器會(huì)對頁面元素的某些元素產(chǎn)生默認(rèn)行為。比如一個(gè) a 鏈接點(diǎn)擊之后,會(huì)自動(dòng)跳轉(zhuǎn)至對應(yīng) href 地址網(wǎng)頁去;又如一個(gè)表單,當(dāng)你點(diǎn)擊 提交 按鈕之后,默認(rèn)會(huì)將數(shù)據(jù)發(fā)送至 form 的 action 地址去。這些都是瀏覽器的處理頁面元素的默認(rèn)行為,當(dāng) onlick = 'return false' 時(shí),會(huì)禁止掉這種瀏覽器的默認(rèn)行為。故而你的這段代碼并不會(huì)跳轉(zhuǎn)至 騰訊首頁 去。<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)}
這樣豈不是更簡單。。。。用e.preventDefault();來阻止
還有,既然要阻止,干嘛還要在頁面上寫上鏈接。。。
回答5:onclick屬性的值是js代碼,return f1(),如果f1()返回false的話,return f1()就代表return false。當(dāng)然,這個(gè)return是有點(diǎn)多余,但是語法也沒錯(cuò)。只要語法沒錯(cuò),實(shí)現(xiàn)了就行。
相關(guān)文章:
1. javascript - immutable配合react提升性能?2. javascript - sublime快鍵鍵問題3. 網(wǎng)頁爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?4. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件5. python小白 自學(xué)看書遇到看不懂的地方6. DADB.class.php文件的代碼怎么寫7. php對mysql提取數(shù)據(jù)那種速度更快8. shell - mysql更新錯(cuò)誤9. mysql - 在log日志中已知用戶的某一步操作,如何獲取其上一步操作?10. 如何設(shè)置一個(gè)無限循環(huán)并打破它。(Java線程)

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