2
为了将一长串选项元素添加到选择列表中,我将它们添加到点击。我想防止多次添加列表。我怎样才能做到这一点?只允许点击一次
$("#skiresort").click(function(){
$("#skiresort").load("/v3/inc/review.php");
});
为了将一长串选项元素添加到选择列表中,我将它们添加到点击。我想防止多次添加列表。我怎样才能做到这一点?只允许点击一次
$("#skiresort").click(function(){
$("#skiresort").load("/v3/inc/review.php");
});
有执行的事件处理程序只有一次的方法:.one()
:
$("#skiresort").one('click', function(){
$("#skiresort").load("/v3/inc/review.php");
});
费利克斯的答案是完美的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
我想防止再次点击同一按钮,但如果用户点击另一个按钮,那么上一个按钮应该是可点击的....如何做到这一点? – 2013-11-10 10:22:50
@Uday:您可以使用一个共享变量,它保存对最后点击的按钮的引用并与之进行比较。 – 2013-11-10 15:39:02