だから、私は簡単なものを持っています
$(document).on('#happyButton', 'click', function(event) {
event.preventDefault();
//more goes here...
});
そして、それを次のようなものに変えたいと思います:
doStuff = function(event) {
event.preventDefault();
//more goes here...
}
$(document).on('#happyButton', 'click', doStuff(event));
このコードを別の場所に配置し、さらに重要なことに、これを別の場所で実行できるようにするには:
$(document).off('#happyButton', 'click', doStuff(event));
残念ながら、これは私にエラーを与えます:
Uncaught TypeError: Cannot call method 'preventDefault' of undefined
さて、正解は「バックボーンを使う!」です。しかし、これは以前のコードのリファクタリングであり、すべてをリファクタリングする余裕はありません。簡単なこともできる
$('#happyButton').off()
必要に応じてそうしますが、よりクリーンなソリューションとして前者を好みます。
他のアイデアはありますか?ありがとう。