私はタブ付きのインターフェイスを使用しており、タブのクリックイベントを処理するために次の jQuery 関数を設定しています。
$(document).ready(function () {
$('a#foo').click(function() {
//content, various calls
return false;
});
});
上記は私のタブの 1 つの例であり、他のタブも同じドキュメント準備完了ブロック内にあります。私がしなければならなかったのは、現在選択されているタブを再クリックできないようにすることと、必要に応じてタブを手動で無効にできるようにすることでした。私は次の方法でこれを達成しました:
$('a#play').unbind('click');
これは正常に機能し、確かにタブを無効にしますが、問題はかつてそこにあったクリックアクションを再バインドすることになります. bind 関数を使用してこれを達成しました。
$('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());
これは、何らかの理由で、ブラウザのクラッシュの問題を引き起こしているようです。この場合、関数を var として渡すことはできませんか、それとも間違っていますか? または、探している結果を達成するためのより良い方法はありますか? ありがとう。