我創建了一個小的jQuery插件,當用戶分別點擊按鈕.show
和按鈕.hide
時,顯示並隱藏div。我想傳遞一個函數作爲插件選項來爲onhide
做一些特定的處理。但是,onhide
函數執行的次數與show和hide按鈕的點擊次數相同。jquery插件函數重載執行函數很多次
這是jsfiddle。
當您單擊多次顯示/隱藏按鈕後,警報將顯示相同的次數。
我認爲它應該只提醒一次隱藏按鈕。
$.fn.showhide = function(options){
var popup = this;
defaultOptions = {
onHide : function() { },
onShow : function() { }
};
var Options = $.extend({},defaultOptions, options);
this.each(function() {
$(this).on('click',function(e){
var id = $(this).data('id');
$('#'+id).show();
$('.hide').on('click',function(){
var id = $(this).data('id');
$('#'+id).hide();
if (Options.onHide.call() === false) {
return;
}
});
});
});
}
$('.show').showhide({
onHide :function() {
alert('hide');
}
}
);
這有同樣的問題!當您在演出中點擊三次時,您必須點擊確定按鈕三次!試試我的解決方案... – chrisv
你是對的。我更新了我的答案..謝謝! –
這與我的解決方案几乎相同! :P – chrisv