クリックイベントのバインドを解除して再バインドしようとしてスタックしています。クリックイベントを「保存」し、バインドを解除して、条件付きステートメントで再バインドしたいと思います。
ここの情報を使用して、クリックハンドラーを保存することができます: jQueryは、オブジェクトに登録されているイベントハンドラーを検索します
古いバージョンのjQuery(1.5)を使用しているため、data( "events")メソッドを使用しています。
ここのところ...
var events = $('#myElement').data("events");
alert(events.click[0].handler);
$('#myElement').unbind('click');
これで、ハンドラー関数が警告され、正しく表示されます。何かを追加したいのですが、最初は同じクリックイベントを再バインドしてみようと思いました。ただし、正しく再バインドする方法がわかりません。私が試したこと:
$('#myElement').bind('click', null, events.click[0].handler); // gives 'click.0 is null or not an object
$('#myElement').bind('click', events.click[0].handler); // gives 'click.0 is null or not an object
$('#myElement').bind('click', null, events.click); // seems to have no effect
$('#myElement').bind('click', events.click); // seems to have no effect
ですから、ほぼ手元にあると思いますが、ここからどうしたらいいのかわかりません。イベント変数を使用してクリックイベントを再バインドするにはどうすればよいですか?
助けてくれてありがとう。