Jquery 只允许onclick一次
为了向选择列表中添加一个很长的选项元素列表,我单击添加它们。我想防止列表被多次添加。我该怎么做Jquery 只允许onclick一次,jquery,event-handling,jquery-click-event,Jquery,Event Handling,Jquery Click Event,为了向选择列表中添加一个很长的选项元素列表,我单击添加它们。我想防止列表被多次添加。我该怎么做 $("#skiresort").click(function(){ $("#skiresort").load("/v3/inc/review.php"); }); 有一种方法只执行一次事件处理程序:: Felix answer非常适合jQuery,我添加它只是为了展示一种通用的JavaScript技术: function runOnce(f) { var called = false;
$("#skiresort").click(function(){
$("#skiresort").load("/v3/inc/review.php");
});
有一种方法只执行一次事件处理程序::
Felix answer非常适合jQuery,我添加它只是为了展示一种通用的JavaScript技术:
function runOnce(f) {
var called = false;
return function() {
if (!called) {
called = true;
return f.apply(this, arguments);
}
};
}
现在您可以这样使用它:
var myNewFunction = runOnce(myFunction); // this does not run "myFunction", but returns a new one that will only run once.
myNewFunction(1, 2, 3); // runs the "myFunction" and returns whatever it returns
myNewFunction(1, 2, 3); // doesn't do anything, just returns undefined
我想防止再次单击同一个按钮,但如果用户单击另一个按钮,则上一个按钮应该可以单击……如何操作?@Uday:您可以使用一个共享变量,其中包含对上次单击按钮的引用,并与之进行比较。是的。我终于做到了。我想如果有什么功能的话。
var myNewFunction = runOnce(myFunction); // this does not run "myFunction", but returns a new one that will only run once.
myNewFunction(1, 2, 3); // runs the "myFunction" and returns whatever it returns
myNewFunction(1, 2, 3); // doesn't do anything, just returns undefined