要返回页面,我们正在使用:
onclick="javascript:history.go(-1)"
我们可以限制连续点击吗?
请建议。
答案 0 :(得分:1)
单击后可以取消设置onclick属性:
onclick="javascript:history.go(-1); this.onclick=null;"
答案 1 :(得分:1)
您不应该使用内联JavaScript。它不仅使您的代码不易维护,而且使得附加和分离事件变得更加困难。
您应该做的是从DOM中获取目标元素并为其附加一个单击处理程序。为了能够在以后分离它,单击处理程序不能是匿名函数,因此请单独定义它。
稍后,您可以附加在单击元素时将执行的侦听器。如果只想运行一次,则可以使用单击处理程序随后分离处理程序。参见示例(在事件处理程序的上下文中,'this'指的是DOM元素本身)
var button = document.getElementById("clickme");
var clickHandler = function(e) {
alert("clicked");
this.removeEventListener("click", clickHandler);
}
button.addEventListener("click", clickHandler);
这是一个有效的例子 http://codepen.io/anon/pen/xAjnG/?editors=101
要进一步扩展,如果您希望按钮不是一次激活而是多次激活,您可以保留一个计数器。请注意,您可以使用此一般情况并设置limit = 1。
var button = document.getElementById("clickme");
var counter = 0;
var limit = 3;
var clickHandler = function(e) {
alert("clicked " + ++counter);
if(counter >= limit) {
this.removeEventListener("click", clickHandler);
}
}
button.addEventListener("click", clickHandler);