最近我問了一個問題,如何將命令綁定到.fadeIn()
事件,而不必在每次調用它們時都調用.trigger('fadeIn')
。我有一個非常好的解決方案,在this post。綁定命令以隱藏事件而不調用.trigger('hide');
但是我試圖做同樣的程序爲.hide()
事件是這樣的:
var _old = $.fn.hide;
$.fn.hide = function(){
var self = this;
_old.apply(this,arguments).promise().done(function(){
self.trigger("hide");
});
};
似乎一般工作,如在此的jsfiddle所示:http://jsfiddle.net/gEVsX/5/
但當我添加此對於腳本,我從看似無關的位置收到錯誤。這是從腳本的這一部分拋出:
$('#unique_div_id').dialog({
autoOpen: false,
show: "blind",
hide: "explode",
modal: true,
buttons: {
Cancel: function(){
$(this).dialog("close");
}
}
});
它只是初始化一個div爲模態對話框。我假設我得到這個錯誤,因爲我弄亂了jQuery隱藏代碼。我收到此錯誤:
Uncaught TypeError: Cannot call method 'addClass' of undefined
我在這的jsfiddle複製錯誤:http://jsfiddle.net/gEVsX/6/
有誰知道我怎麼能解決我的.hide()
功能包裝腳本?
非常感謝!
爲你的「新」hide()'命名,像'rawHide()'等,並保持原來的「old」hide()。 – adeneo
糟糕,我解決了這個問題中提到的答案。抱歉。 –