Button.onclick 会自动触发,然后不会再次触发
Button.onclick automatically triggers, then will not trigger again
我有一个脚本,我用它来尝试一次只显示网页的一个部分。
function showMe(id){ clearPage(); changeDisplay(id, "block"); console.log(id)}
目前,我正在使用按钮来更改显示的部分。
var aBtn = document.getElementById("a-btn");
var otherBtn = document.getElementById("other-btn");
aBtn.onclick=showMe("a-btn-section-id");
otherBtn.onclick=showMe("other-btn-section-id");
但是,当我加载页面时,会发生以下情况:
- 我看到附加到每个按钮的功能在控制台中依次激活一次。
- 页面拒绝响应进一步的按钮输入。
使用控制台进行测试表明 showMe() 及其调用的函数仍然都能正常工作。我确定我犯了一个非常基本的初学者错误(希望这就是为什么我在谷歌/搜索 StackOverflow/阅读事件处理文档时找不到这个问题的原因),但我对这个错误不知所措。为什么我的脚本会假设我的按钮在加载时被单击,为什么它不让我再次单击它们?
您正在调用函数,将值分配给onclick
属性而不是附加函数,请尝试将onclick
属性定义为:
aBtn.onclick=function(){showMe("a-btn-section-id");};
otherBtn.onclick=function(){showMe("other-btn-section-id");};
尝试以下jsfiddle:
function showMe(id){ // some stuff..
console.log(id)
}
var aBtn = document.getElementById("a-btn");
var otherBtn = document.getElementById("other-btn");
aBtn.onclick=function(){showMe("a-btn-section-id");};
otherBtn.onclick=function(){showMe("other-btn-section-id");};
<input type="button" value="a-btn" id="a-btn"/>
<input type="button" value="other-btn" id="other-btn"/>
希望这有帮助,
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Javascript运行php文件,然后下载文件
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 弹出窗口出现,然后退出
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 将值输入到对象,然后该对象推送到数组
- 如何临时暂停浏览器渲染,然后恢复整个页面
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- javascript button target_blank?
- 滚动然后捕捉到顶部而不是取消捕捉
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 获取打开jquery对话框的button的id
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 点击相同的按钮打开模型,然后提交表单
- javascript button ajax and php
- ThreeJS将画布中的文本渲染为纹理,然后应用于平面
- 将display属性更改为visible flicks,然后再次消失
- Button.onclick 会自动触发,然后不会再次触发