E.R*_*der 2 javascript css events onclick
这是最奇怪的.
第一:我怀疑它与我的机器有关.
我的问题很简单,我无法在第一次点击时触发有条件的雄蕊.在第一次点击之后,一切都很好并按原样运作.这只适用于我最近写的内容,所有带有类似语句的旧文件都能正常工作,可以从3个学校复制粘贴,没有任何问题.
如果我删除条件语句,事情按预期工作,例如,如果我将单个语句放在标签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">
Run Code Online (Sandbox Code Playgroud)
有些东西发霉了,我找不到.任何智能的想法都会受到最高的评价,并且验证编码对其他人的做法也是如此,这也会有所帮助.如果它可能与我的机器上的文本编码有关,我会受伤,尽管如果某些文本格式被应用(如在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">
Run Code Online (Sandbox Code Playgroud)
我应该抓住这个,但这就是他们假设的结果,正如我假设的那样,因为样式是在头部声明属性转移到元素,但事实并非如此.希望这可以帮助别人避免我刚刚经历的头痛.
如果你调试你的函数,你会发现test.style.visibility在第一次运行时没有任何东西,因为这个css属性最初没有设置为你的元素的任何东西.因此,您的第一次运行进入您的else设置,然后设置此属性.现在,由于您在第一次运行中将值设置为"可见",因此每次后续运行都会发出警报.
| 归档时间: |
|
| 查看次数: |
4684 次 |
| 最近记录: |