私はタブ付きインターフェイスで作業しており、次のjQuery関数を設定して自分のタブのクリックイベントを処理させます。jQuery .click()関数を変数として渡す
$(document).ready(function() {
$('a#foo').click(function() {
//content, various calls
return false;
});
});
上記は私のタブの1つの例であり、他のものも同じ文書の準備ブロック内にあります。私がする必要があったのは、現在選択されているタブを再度クリックすることができないようにすることと、必要に応じてタブを手動で無効にすることができる場合がありました。私は、次を経由して、これを達成:
$('a#play').unbind('click');
これは正常に動作し、それは確かに、タブを無効にしますが、問題はその後、かつてあったクリック・アクションを再バインドになります。私はバインド機能を経由して、これを達成:
$('a#foo').bind('click', function() {
//the same content and calls as before
return false;
});
また、これは正常に動作しますが、私は私のUIにタブを追加したとして、それは非常に雑然となっています。直接的な解決策は、関数を変数として作成し、それを最初のクリック作成とバインディングイベントに渡すことです。ように:
var Foo = new function() {
//same content and calls as before
return false;
}
$('a#foo').click(Foo());
$('a#foo').bind(Foo());
これは、理由の1つまたは別の理由で、ブラウザクラッシュの問題を引き起こしているようです。この場合varとして関数を渡すことはできませんか、それとも間違っていますか?あるいは、私が探している結果を得るための良い方法がありますか?ありがとう。
このスレッド全体は非常に有益/便利です。私は、JS関数がそのように機能していることに気付かなかった。みなさん、ありがとうございました@CrazyJugglerDrummerをまとめて、魅力的でした! – keybored