今天在写HTML的时候,遇到了script里面的onclick函数调用的问题,直接上代码
<body>
<div class="content">
<p>
喜欢的人叫什么:<span id="name"></span><br>
喜欢的人漂亮吗:<span id="isbeau"></span><br>
喜欢的人可爱吗:<span id="isLove"></span><br>
</p>
</div>
<div class="button">显示
</div>
<script>
function showMessage(){
var json={
"name":"MY",
"isbeau":"貌美如花",
"isLove":"可爱至极",
}
document.querySelector("#name").innerHTML=json['name'];
document.querySelector("#isbeau").innerHTML=json['isbeau'];
document.querySelector("#isLove").innerHTML=json['isLove'];
}
oButton=document.querySelector(".button");
oButton.onclick=showMessage;
</script>
</body>
这里最后的oButton.οnclick=showMessage();右边的函数是加了括号的,一开始这样写的时候,在网页上应该是点击按钮然后才显示出相关的信息,但是出错了,网页加载完毕所有的信息就显示出来了。看看代码应该是onclick这边出了问题。想了一会。觉得右边调用的函数可能有问题,应该是直接就执行了一遍,老规矩百度一遍,果然没错,问题就是处在这里。总结了一下,如果加了括号就代表将这个函数的返回值直接赋给了onclick事件,也就是说页面直接会触发onclick的效果,不需要点击,所以应该是将这个函数赋值给点击事件,而不是这个函数的返回值。
问题就是这个,有时间就写下来记录一下。明天也要加油啊,哎,你要问我MY是谁,一个很特别很重要的人,她就是我最大的bug。