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
瀏覽器會對頁面元素的某些元素產(chǎn)生默認(rèn)行為。比如一個(gè) a 鏈接點(diǎn)擊之后,會自動跳轉(zhuǎn)至對應(yīng) href 地址網(wǎng)頁去;又如一個(gè)表單,當(dāng)你點(diǎn)擊 提交 按鈕之后,默認(rèn)會將數(shù)據(jù)發(fā)送至 form 的 action 地址去。這些都是瀏覽器的處理頁面元素的默認(rèn)行為,當(dāng) onlick = 'return false' 時(shí),會禁止掉這種瀏覽器的默認(rèn)行為。故而你的這段代碼并不會跳轉(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. 點(diǎn)擊頁面就自動輸入到mysql.求解2. java - IDEA從SVN檢出項(xiàng)目 并在tomcat上運(yùn)行 求詳細(xì)流程3. javascript - windos下第一次用Django無法正確創(chuàng)建工程目錄4. java - 多叉樹求值,程序高手,算法高手看過來5. node.js - 帶有node_modules目錄的項(xiàng)目,用phpstorm打開速度極慢,怎么解決?6. node.js - nodejs使用formidable上傳文件問題7. Laravel中文件上傳的問題8. 單擊登錄按鈕無反應(yīng)9. 誰能告訴我php7+tp5.1時(shí)遇到使用session::set()問題10. 靜態(tài)資源文件引入無效
