JavaScript取消瀏覽器默認(rèn)動(dòng)作
默認(rèn)動(dòng)作,是指瀏覽器所執(zhí)行的用戶沒有明確指定的操作。對(duì)于某些HTML標(biāo)簽,瀏覽器總會(huì)有一個(gè)默認(rèn)的動(dòng)作。
http://www.baidu.com
點(diǎn)擊上面的鏈接,瀏覽器會(huì)彈出窗口,進(jìn)入百度首頁(yè)。這個(gè)動(dòng)作,就是瀏覽器的默認(rèn)動(dòng)作:點(diǎn)擊一個(gè)<a>標(biāo)簽,會(huì)轉(zhuǎn)向目標(biāo)頁(yè)面。
其他瀏覽器默認(rèn)動(dòng)作包括 點(diǎn)擊提交按鈕提交表單、點(diǎn)擊重置按鈕重置表單、把鼠標(biāo)移動(dòng)到帶有title屬性的元素上出現(xiàn)提示 等。
瀏覽器的默認(rèn)動(dòng)作是可以通過 JavaScript 來取消的。
對(duì)于遵循 W3C 規(guī)范的瀏覽器,使用 event 對(duì)象的?preventDefault()?方法來取消默認(rèn)動(dòng)作;但是 IE8.0 及其以下版本不支持該方法,它通過對(duì) event 對(duì)象的?returnValue?屬性賦值 false 來取消默認(rèn)動(dòng)作。
取消<a>標(biāo)簽的默認(rèn)動(dòng)作。
<html> <head> <title>取消<a>標(biāo)簽的默認(rèn)動(dòng)作</title> </head> <body> <a id="demo" href="http://www.baidu.com" target="_blank">點(diǎn)擊這里試試</a> <script type="text/javascript"> document.getElementById("demo").onclick=function(e){ var eve = e || window.event; try{ // 使用 try...catch 語(yǔ)句避免瀏覽器出現(xiàn)錯(cuò)誤提示 eve.preventDefault(); // 非 IE 瀏覽器 }catch(e){ eve.returnValue = false; // IE8.0 及其以下版本 } } </script> </body> </html>