イベントハンドラをブートストラップモーダルにワイヤするコードがあります。セレクタなしのjQuery .offが動作しません
$("#learnMoreModal")
.off("show.bs.modal", learnMoreModalShow)
.on("show.bs.modal", learnMoreModalShow)
.off("hidden.bs.modal", learnMoreModalHidden)
.on("hidden.bs.modal", learnMoreModalHidden);
しかしlearnMoreModalShow
とlearnMoreModalHidden
が二回実行されています。それは、イベントハンドラが二度実行されないことを確認する.on()
を呼び出す前.off()
を呼び出すので、このコードは、二回と呼ばなっています。 .off()
への私の呼び出しはなぜそれを削除しないのですか?
最小限のコードサンプルでは分かりませんが、代わりに['.one()'](http://api.jquery.com/one/)を使用することができますか? – Blazemonger
私は*考えていません* OPは彼がただ一度しか火をかけたくないと言っています。彼は1つのイベントハンドラだけが接続されていることを確認したい。たとえば、彼はメソッド "HookUpMyEventHandlers"をX回数だけ呼び出すと言っていますが、イベントハンドラが一度だけ接続されていることを確認したいと考えています。 (私は彼が言っていると思います)。 – aquinas
@aquinas .one()のドキュメントを読むと、ハンドラの単一インスタンスが取得されますが、.one()が実行されるたびに新しい単一インスタンスが作成されます。 – mhodges