最近、コマンドを呼び出すたび.fadeIn()
に呼び出すことなく、コマンドをイベントにバインドする方法について質問しました。この投稿.trigger('fadeIn')
で、私は非常に良い解決策を得ました。
.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:未定義のメソッド'addClass'を呼び出すことができません
このjsfiddleのエラーを複製しました:http://jsfiddle.net/gEVsX/6/
.hide()
関数ラッパースクリプトを修正する方法を知っている人はいますか?
どうもありがとう!