JavaScript membatalkan tindakan lalai penyemak imbas

Tindakan lalai merujuk kepada operasi yang dilakukan oleh penyemak imbas yang tidak dinyatakan secara eksplisit oleh pengguna. Untuk teg HTML tertentu, penyemak imbas sentiasa mempunyai tindakan lalai.

http://www.baidu.com

Klik pautan di atas, dan penyemak imbas akan muncul tetingkap untuk memasuki halaman utama Baidu. Tindakan ini ialah tindakan lalai penyemak imbas: mengklik teg <a>

Tindakan lalai penyemak imbas lain termasuk mengklik butang serah untuk menyerahkan borang, mengklik butang tetapan semula untuk menetapkan semula borang, menggerakkan tetikus ke atas elemen dengan atribut tajuk untuk memaparkan gesaan, dsb.

Tindakan lalai penyemak imbas boleh dibatalkan melalui JavaScript.

Untuk penyemak imbas yang mengikut spesifikasi W3C, gunakan kaedah preventDefault() bagi objek acara untuk membatalkan tindakan lalai, bagaimanapun, IE8.0 dan ke bawah tidak menyokong kaedah ini kepada atribut returnValue objek acara untuk membatalkan tindakan lalai.

Batalkan tindakan lalai teg <a>

<html>
<head>
<title>取消<a>标签的默认动作</title>
</head>
<body>
<a id="demo" href="http://www.baidu.com" target="_blank">点击这里试试</a>
<script type="text/javascript">
    document.getElementById("demo").onclick=function(e){
        var eve = e || window.event;
        try{  // 使用 try...catch 语句避免浏览器出现错误提示
            eve.preventDefault();  // 非 IE 浏览器
        }catch(e){
            eve.returnValue = false;  // IE8.0 及其以下版本
        }
    }
</script>
</body>
</html>


Meneruskan pembelajaran
||
<html> <head> <title>取消<a>标签的默认动作</title> </head> <body> <a id="demo" href="http://www.baidu.com" target="_blank">点击这里试试</a> <script type="text/javascript"> document.getElementById("demo").onclick=function(e){ var eve = e || window.event; try{ // 使用 try...catch 语句避免浏览器出现错误提示 eve.preventDefault(); // 非 IE 浏览器 }catch(e){ eve.returnValue = false; // IE8.0 及其以下版本 } } </script> </body> </html>
  • Cadangan kursus
  • Muat turun perisian kursus