JavaScript取消瀏覽器預(yù)設(shè)動(dòng)作
預(yù)設(shè)動(dòng)作,是指瀏覽器所執(zhí)行的使用者沒有明確指定的操作。對(duì)於某些HTML標(biāo)籤,瀏覽器總是會(huì)有一個(gè)預(yù)設(shè)的動(dòng)作。
http://www.baidu.com
點(diǎn)擊上面的鏈接,瀏覽器會(huì)彈出窗口,進(jìn)入百度首頁。這個(gè)動(dòng)作,就是瀏覽器的預(yù)設(shè)動(dòng)作:點(diǎn)選一個(gè)<a>標(biāo)籤,會(huì)轉(zhuǎn)向目標(biāo)頁面。
其他瀏覽器預(yù)設(shè)動(dòng)作包括 點(diǎn)擊提交按鈕提交表單、點(diǎn)擊重置按鈕重置表單、把滑鼠移到帶有title屬性的元素上出現(xiàn)提示 等。
瀏覽器的預(yù)設(shè)動(dòng)作是可以透過 JavaScript 來取消的。
對(duì)於遵循W3C 規(guī)範(fàn)的瀏覽器,使用event 物件的?preventDefault()?方法來取消預(yù)設(shè)動(dòng)作;但是IE8.0 及其以下版本不支援此方法,它透過對(duì)event 物件的?returnValue?屬性賦值false來取消預(yù)設(shè)動(dòng)作。
取消<a>標(biāo)籤的預(yù)設(shè)動(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 語句避免瀏覽器出現(xiàn)錯(cuò)誤提示 eve.preventDefault(); // 非 IE 瀏覽器 }catch(e){ eve.returnValue = false; // IE8.0 及其以下版本 } } </script> </body> </html>