javascript - html中阻止默認事件
問題描述
<!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函數function f1(){ console.log( ’騰訊被點擊了’); return false;}</script></body></html>
問題解答
回答1:onclick是個函數,不return就是沒有返回值,怎么阻止默認事件?跟你f1是否return沒有關系
回答2:能不能阻止默認行為是看onclick函數的返回值,有return的時候,返回f1的返回值false。
不寫return的onlick處理函數如下,此時的返回值因為沒有return語句,所以默認返回undefined
瀏覽器會對頁面元素的某些元素產生默認行為。比如一個 a 鏈接點擊之后,會自動跳轉至對應 href 地址網頁去;又如一個表單,當你點擊 提交 按鈕之后,默認會將數據發送至 form 的 action 地址去。這些都是瀏覽器的處理頁面元素的默認行為,當 onlick = 'return false' 時,會禁止掉這種瀏覽器的默認行為。故而你的這段代碼并不會跳轉至 騰訊首頁 去。<a onclick = 'return f1()'>騰訊</a> function f1(){console.log( ’騰訊被點擊了’);return false; }
另外,你應該善用搜索引擎,百度一下,第一條就可以解決掉你的困惑,地址如下:https://zhidao.baidu.com/ques... 。望共同進步,共勉之~
回答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。當然,這個return是有點多余,但是語法也沒錯。只要語法沒錯,實現了就行。
相關文章:
1. 數據庫 - mysql如何處理數據變化中的事務?2. 網絡傳輸協議 - 以下三種下載方式有什么不同?如何用python模擬下載器下載?3. angular.js - Angular路由和express路由的組合使用問題4. 如何修改phpstudy的phpmyadmin放到其他地方5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?6. 表單提交驗證,沒反應,求老師指點7. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?8. 在mac下出現了兩個docker環境9. tp6表單令牌10. javascript - canvas 可以實現 PS 魔法橡皮擦的功能嗎?
