gpt4 book ai didi

javascript - onclick 事件不会在第一次点击条件语句时触发

转载 作者:行者123 更新时间:2023-11-29 16:12:55 25 4
gpt4 key购买 nike

这是最奇怪的。

首先:我怀疑这与我的机器有关。

我的问题很简单,我无法让有条件的花蕊在第一次点击时触发。第一次点击后一切都很好并且可以正常工作。这仅适用于我最近写的东西,我所有具有类似语句的旧文件都可以正常工作,并且可以毫无问题地从 3schools 复制和粘贴。

如果我删除条件语句,事情会按预期工作,例如,如果我将单个语句放在标记 onclick 事件中,它会在第一次单击时起作用,并且对于简单函数也是如此,但条件语句不是。我在下面有测试代码,但我不确定它是否有帮助,因为我知道代码可以工作,并且认为第一次单击会找到该功能但不会触发它。如代码所示,我尝试了几个事件,结果相同。

    <script type="text/javascript">
function test() {
var test=document.getElementById('test');
if (test.style.visibility=="visible") {
alert("yes");
}
else {
test.style.visibility="visible";
}
}
</script>
</head>
<body>
<h1 id="test">Hello World You dumbass!</h1>
<button type="button" onmouseup="test()">test</button>
<input type="button" onclick="test()" value="text">

有些东西今天头发很糟糕,但我没有找到它。任何聪明的想法都将不胜感激,验证编码是否对其他人也有同样的作用也会有所帮助。如果它可能与我的机器上的文本编码有关,我会很受伤,尽管如果应用某种文本格式(例如在 MS Word 中编写代码),所有其他地方的代码都可以产生奇怪的结果。

谢谢

下面的答案一语中的还是返回true。为了在标签中没有声明样式的情况下工作,条件是这样写的

<script type="text/javascript">
function test() {
var test=document.getElementById('test');
if (test.style.visibility=="") {
test.style.visibility="hidden";
}
else {
test.style.visibility="";
}
}
</script>
</head>
<body>
<h1 id="test">Hello World You dumbass!</h1>
<button type="button" onmouseup="test()">test</button>
<input type="button" onclick="test()" value="text">

我应该捕获这一点,但这是他们假设时得到的,就像我假设的那样,因为样式是在头部声明的,属性会传递到元素,但事实并非如此。希望这可以帮助别人避免我刚刚经历的头痛。

最佳答案

如果您调试您的函数,您会发现第一次运行时 test.style.visibility 什么都没有,因为这个 css 属性最初没有为您的元素设置任何值。因此,您的第一次运行会进入您的 else,然后设置此属性。现在,由于您在第一次运行时将该值设置为“可见”,因此每次后续运行都会发出警报。

关于javascript - onclick 事件不会在第一次点击条件语句时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23229464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com