此代码应该可以正常工作,但我不知道它会被卡住的地方!
这段代码非常简单,它应该可以工作,我认为问题是传递的第3个参数(" mouseup",function(){},false)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>html demo</title>
</head>
<body>
<a id="navlink" href="http://google.com">Click me</a>
<div id="Reveal">Not Clicked</div>
<script>
document.getElementById('navlink').addEventListener("mouseup" , function(e){
e.preventDefault();
document.getElementById('reveal').innerHTML("Clicked");
},false);
</script>
</body>
</html>
答案 0 :(得分:1)
你有关于innerHTML和 div Reveal
的id的问题document.getElementById('navlink').addEventListener("mouseup" , function(e){
e.preventDefault();
document.getElementById('Reveal').innerHTML = "Clicked";
},false);
问候。
答案 1 :(得分:0)
试试这个,
document.getElementById('reveal').innerHTML = "Clicked";
因为innerHTML
属性不是函数。
你的代码中也有拼写错误,'Reveal'是DIV的ID。
答案 2 :(得分:0)
您需要进行以下更正,请参阅下面的代码段
1) .innerHtml
不是方法,属性,因此您必须使用=
2) getElementById
区分大小写,因此document.getElementById('reveal')
必须为document.getElementById('Reveal')
document.getElementById('navlink').addEventListener("mouseup" , function(e){
e.preventDefault();
document.getElementById('Reveal').innerHTML = "Clicked";
},false);
<a id="navlink" href="http://google.com">Click me</a>
<div id="Reveal">Not Clicked</div>
参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors
答案 3 :(得分:0)
请尝试添加点击事件而不是鼠标。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>html demo</title>
</head>
<body>
<a id="navlink" href="http://google.com">Click me</a>
<div id="Reveal">Not Clicked</div>
<script>
document.getElementById('navlink').addEventListener("click" , function(e){
e.preventDefault();
//document.getElementById('reveal').innerHTML("Clicked");
},false);
</script>
</body>
</html>
答案 4 :(得分:0)
innerHTML
是属性,而不是mutator方法。语法如下:
返回 innerHTML属性:
HTMLElementObject.innerHTML
设置 innerHTML属性:
HTMLElementObject.innerHTML=text
在您的情况下,它应该是:document.getElementById('reveal').innerHTML = "Clicked";
此外,addEventListener
的最后一个参数是可选的。它是一个布尔值,指定是在捕获阶段还是在冒泡阶段执行事件。
答案 5 :(得分:0)
e.preventDefault
不会阻止mouseup
或mousedown
。检查this回答。您必须使用click()
或addEventListener("click",
才能使用preventDefault
。
实施例:
document.getElementById('navlink').addEventListener("click" , function(e){
在您的代码中,您错误地将innerHTML用作函数而reveal
具有大写R,因此更正后的形式为
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>html demo</title>
</head>
<body>
<a id="navlink" href="http://google.com">Click me</a>
<div id="Reveal">Not Clicked</div>
<script>
document.getElementById('navlink').addEventListener("click" , function(e){
e.preventDefault();
document.getElementById('Reveal').innerHTML = "Clicked";
},false);
</script>
</body>
</html>