Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止默认值不起作用_Javascript_Html - Fatal编程技术网

Javascript 防止默认值不起作用

Javascript 防止默认值不起作用,javascript,html,Javascript,Html,嘿,伙计们,我是javascript web开发的新手。我的代码中已经出现了preventDefault()。但是当我使用它时,它返回了错误..我的代码 <html> <body> function preventDef(event) { event.preventDefault(); } document.querySelector('a').addEventListener("click", preventDef(event),false); </s

嘿,伙计们,我是javascript web开发的新手。我的代码中已经出现了
preventDefault()
。但是当我使用它时,它返回了错误..我的代码

<html>
<body>
function preventDef(event) {
  event.preventDefault();
}

 document.querySelector('a').addEventListener("click", 
preventDef(event),false);

</script>

<a href="www.google.com">click here</a>
</body>
</html>

函数preventDef(事件){
event.preventDefault();
}
document.querySelector('a')。addEventListener(“单击“,
preventDef(事件),false);
当我使用此代码并单击链接时,它会将我重定向到google.com。我需要的是,必须阻止该事件我的
preventDefault()
函数


希望你们能帮助我。谢谢你们调用
preventDef
函数而不是通过引用传递它

document.querySelector('a').addEventListener("click", preventDef, false);
//                                                              ^^^ don't call the function
编辑:另一个问题是,您在DOM准备就绪之前运行这个。您需要将
标记向下移动到

//^^你错过开场白了吗?
函数preventDef(事件){
event.preventDefault();
}
document.querySelector('a')。addEventListener(“单击”,preventDef,false);
//^^^不要调用该函数

这对我没有帮助..但它仍然重定向到Google Uncaught TypeError:无法读取的属性'addEventListener'null@user请参阅@user3760836更新了答案和其余的修复程序。@scimonester我没有得到你的答案。。它对我不起作用。。如果你发布准确的代码会有所帮助。“但是当我使用它时,它会返回错误”你是在告诉我们哪一个错误还是我们必须猜测?
<html>
<body>
<a href="www.google.com">click here</a>
<script>
// ^^ did you miss an opening script?
function preventDef(event) {
  event.preventDefault();
}

 document.querySelector('a').addEventListener("click", preventDef, false);
//                                                              ^^^ don't call the function

</script>

</body>
</html>