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. css3 - css before 中文亂碼?2. javascript - 百度echarts series數據更新問題3. mysql - 一個表和多個表是多對多的關系,該怎么設計4. css - 求推薦幾款好用的移動端頁面布局調試工具呢?5. Mysql && Redis 并發問題6. javascript - node服務端渲染的困惑7. mysql新建字段時 timestamp NOT NULL DEFAULT ’0000-00-00 00:00:00’ 報錯8. php - 第三方支付平臺在很短時間內多次異步通知,訂單多次確認收款9. html5 - h5寫的app用的webview,用手機瀏覽器打開不顯示?10. javascript - webpack --hot 熱重載無效的問題
