オブジェクトがあり、そのオブジェクトがインスタンス化されると、クリック イベント ハンドラーが<body>
. (アタッチのプロセスは、そのオブジェクトの定義内で発生します)
このオブジェクトは、URL が変更されたとき (ユーザーが別のページに移動したとき) にインスタンス化されます。
このオブジェクトの「ページごと」には常に 1 つのタイプがあり、前述のように、パンジが変更されると再インスタンス化され、古いオブジェクトは存在しなくなります。
添付プロセスは次のようになります。
var doc = $(document.body);
doc.off('click');
doc.on('click', function(){
do_stuff();
});
これを使用しているのは、単純にイベント ハンドラーをアタッチし、.off()
.
ここで、このアタッチ プロセスを別の場所に移動することができます。たとえば、インスタンス化が行われるコード セクションなどです。これにより、そのオブジェクトに依存せず、ハンドラーが 1 回だけアタッチされることを保証できますが、アクセスできなくなります。いくつかのローカル変数と、そのコード セクションからアクセスできるようにする必要があります。
私の質問は次のとおりです。これはパフォーマンス面で多くの費用がかかりますか? ここ、stackoverflow に関するいくつかの投稿に気付きましたが、これは最適ではないことを強調していますが、ほとんどの例では、/binding内.off()
でバインドまたはバインド解除が行われているコードが表示されています。.on()
重要な注意: backbone.js を使用しています。「ワンページサイト」です。オブジェクトは基本的にビューであり、インスタンス化はルーターで行われます。