私はこのようなjQueryの.hide()関数の修正:私はこのように私は.trigger('hide')
を使用する必要はありませんでした添付機能)子供が隠されているときにイベントがトリガされます、jQueryの
/*
*This chunk will help us attach other functions to the hide events
*/
var _old = $.fn.hide;
$.fn.hide = function(){
var self = this;
_old.apply(this,arguments).promise().done(function(){
self.trigger("hide");
});
return this;
};
を私はhideイベントにメソッドをアタッチします。私はこれで小さな問題に遭遇しました:親要素の関数.hide()
にメソッドをアタッチすると、子要素が隠されるたびにメソッドがトリガされるように見えます。このjsfiddleの例を参照してください:http://jsfiddle.net/LQg7W/286/。
「メインのdivを非表示」ボタンをクリックすると、メインのdivを非表示にしたときにのみ警告が表示されます。しかし、あなたが見ることができるように、メインのdivの内側にあるタブを切り替えると警告が表示されます。
アタッチされたメソッド(警告ポップアップ)は、指定されたセレクタが非表示($('#main_div')
)で他の要素は表示されない場合、どのように呼び出すか知っていますか?
ありがとうございます!
UPDATE:
私はhide()
を引き起こしたIDは、私たちが望む1であることを確認します.on('hide'..
機能にはほとんどのフィルタを作りました。まだ私が探していた正確な解決策(つまり、ラッパースクリプトを作成する)ではなく、近づいています:http://jsfiddle.net/LQg7W/296/
だから、ボタンが押されたときにのみTEアラートがポップアップしたいですか?代わりにボタンのクリックに対するアラートを攻撃しないでください。 – Th0rndike
ボタンはこの例の '.hide()'を開始するために使われます。アプリケーションでは '.hide()'は異なるアクションから来ることができます。警告は、添付されたメソッドが起動したことを通知するだけです。 –