为什么我的onclick事件不起作用?

时间:2016-03-08 12:47:08

标签: javascript html

<script>
function clear()
   {
      document.getElementById('Div1').style.display = 'block'; 
      document.getElementById('Div2').style.display = 'none';

   }
</script>

<div id="Div1">
 <p>hi</p> 
</div>
<div id="Div2">
  <p>bye</p>
</div>

<button type="button" onclick="return clear()" id="Refresh">

单击刷新按钮时,我需要显示“hi”,但我的脚本功能不起作用。我正试图隐藏Div2并显示Div1,但没有任何反应。

3 个答案:

答案 0 :(得分:6)

有一个旧的已弃用的功能document.clear,您似乎与之发生冲突。 current spec将其定义为:

  

clear(),captureEvents()和releaseEvents()方法必须什么都不做。

例如,如果您使用clear2,则按预期工作。

更好,更现代的方法是在HTML内容之后移动脚本块,并使用事件监听器来连接点击事件,这样您甚至不需要函数名称:< / p>

&#13;
&#13;
<div id="Div1">
  <p>hi</p> 
</div>
<div id="Div2">
  <p>bye</p>
</div>
    
<button type="button" id="Refresh">Click</button>

<script>
    document.getElementById('Refresh').addEventListener('click', function() {
        document.getElementById('Div1').style.display = 'block'; 
        document.getElementById('Div2').style.display = 'none';
    });
</script>
&#13;
&#13;
&#13;

如果不明显,我们将脚本块放在HTML内容之后,以便在页面加载期间脚本运行时,getElementById('Refresh')能够找到<button>。如果脚本块位于顶部,则当代码运行时,该按钮将不会存在于页面中,并且无法找到它。

答案 1 :(得分:1)

Ur代码看起来很好只更改函数名称..它适用于你。尝试任何其他名称

喜欢..

cleardive(), clear1()

并写下如下所示的完整按钮代码

<button type="button" onclick="return clear()" id="Refresh">button name </button>

试一试。

答案 2 :(得分:0)

<script>
function clearText()
   {
      document.getElementById('Div1').style.display = 'block'; 
      document.getElementById('Div2').style.display = 'none';

   }
</script>

<div id="Div1">
 <p>hi</p> 
</div>
<div id="Div2">
  <p>bye</p>
</div>

<button type="button" onclick="return clearText()" id="Refresh">