JavaScript 点击事件只执行一次的方法

JavaScript要实现只允许Button被点击执行一次的办法有几种:

方法一、在添加事件监听器时,设置选项once为true

示例:

<div id="btn0">
My button
</div>
<script>
function doSomething(v) {
console.log(v);
}
document.getElementById('btn0')
.addEventListener("click", function(event) {
doSomething('hello world');
}, {once: true});
</script>

方法二、如果浏览器不支持once,有一种比较简单的做法是在元素被点击后,移除元素的onclick事件。

示例:

<div id="btn0">
My button
</div>
<script>
function doSomething(v) {
console.log(v);
}
function onClick(event) {
doSomething('hello world');
document
.getElementById('btn0')
.removeEventListener("click", onClick);
}
document
.getElementById('btn0')
.addEventListener("click", onClick);
</script>


版权声明:著作权归作者所有。

相关推荐

JavaScript停止setInterval的执行

setInterval()是会返回一个interval id,可以调用clearInterval()来停止setInterval()的执行:var refreshIntervalId = setInterval(fname, 10000); /* 在不需要执行Interval */ clearInterval(refreshI

RecyclerView添加点击事件监听器

实现RecyclerView.OnItemTouchListener的项目触摸监听器:import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.GestureDetector; import android.view.M

JavaScript:给动态元素绑定事件

JavaScript给动态添加的元素绑定事件有几种方式:方法一:jQuery使用jQuery.fn.on可以很简单为动态元素绑定事件:$(staticAncestors).on(eventName, dynamicChild, function() {}); staticAncestors:静态的祖先元素选择器eventName:事件名,如click等dynamicC

JavaScript监控元素外的点击事件隐藏元素

监控document的点击事件,使用jquery的closet排除指定元素以及其子元素的点击事件。function hideOnClickOutside(selector) {   $(document).on('click',function(event){     if (!$(event.target)

Git撤销最后一次提交

Git可以使用reset重置来撤销提交。方法一撤销最后一次提交git reset HEAD~1 执行后,状态重置为上一次提交,且撤回提交的文件的状态变回unstaged,即文件没有被git跟踪。示例$ git commit -m 'add test.html' [master ade6d7e] add&nbs