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