为什么我的点击事件不起作用

Why is my onclick event not working?

本文关键字:事件 不起作用 我的 为什么      更新时间:2023-09-26
<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展示,但没有任何反应。

有一个旧的不推荐使用的函数,document.clear ,你似乎正在与之冲突。 当前规范将其定义为:

clear()、captureEvents() 和 releaseEvents() 方法必须不执行任何操作。

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

一个更好、更现代的方法是将脚本块移动到 HTML 内容之后,并使用事件侦听器连接到 click 事件,这样你甚至不需要函数名称:

<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>

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

你的代码看起来不错,只更改函数名称。 它会为你工作。 尝试任何其他名称

喜欢。。

cleardive(), clear1()

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

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

试试吧。

<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">