私はajax経由で読み込まれるページを作成しました。このページでは、指定したキー[jqueryのホットキーを使用しています]にいくつかの関数を割り当てる関数を作成しました。ここでjavascript:ajax経由でページを読み込んだ後に複数のイベントが実行されます。
は私が
function setupKeys()
{
$.each(keyMap, function (event, listener_name){
$(document).bind('keydown', event, listener[listener_name]);
});
}
これは、ページがロードされるたびに実行される機能を割り当てるために使用する機能です。
初めてページを読み込んでEnterキーを押すと、その機能が実行されます。ブラウザを参照してajax経由でページを再度読み込んでEnterキーを押すと、関数は2回実行されると仮定します。そして、私は同じ機能を3回繰り返します。
どうすればこの問題を回避できますか? keyMapはオブジェクトです
keyMap = {
'Ctrl+s':'save_data',
'return':'test_return',
'tab':'test_return'
};
listener = new Array();
助けてください。
[英語が貧しい人には申し訳ありません]
Krish。
をアンバインドするために使用する必要がありますが、スペンダーありがとうございます。私はあなたが示唆したように試みましたが、まだイベントイベントが複数回トリガされます。しかし、私が 'setupKeys'が一度だけ実行されることを保証すれば、marcのようなものは、ajax経由でページをリロードしても、イベントトリガは1回だけであることを示唆しています。しかし私が発行したのは、私はこの機能を複数のページで使用しなければならないということです。 – Nick
私はフォームに代入しようとしたときに、イベントをドキュメントに代入するのではなく、コードをいくつか変更しました。 'console.log($("#mainForm ")。data( 'events'));'これは火かき棒で 'keydown Object {}' – Nick
私はjquery 1.3.1を使用しています – Nick