2つのグリッドに接続された2つのpopUpEditウィンドウがあります。1つは親で、もう1つは子です。送信するを追加keyPress
Enterするか、[更新]ボタンをクリックします。私が今抱えている問題は、子ポップアップが開いているときにEnterキーを押すと、親コンテナに伝播することです。これが私のこれまでのコードです。
gridSumbitEnterAutoFocus
e.container
は各グリッド編集関数で呼び出されるので、一意である必要があり、keyPress
特定の各ウィンドウにアタッチされると思いました。私も試しstopPropagation
ましたが、それもうまくいきません。どんな助けでも常に感謝しています!
デバッグ後、いくつかの新しい情報を確認してください。すべてのイベントを無効にしkeypress
ましたが、子ポップアップは引き続きに応答しますEnter Keypress
。正確に何をしているのかわかりません。ファイアバグコンソールによると、呼び出しsaveChanges
も送信もしていませんが、子ウィンドウと親ウィンドウの両方が閉じ、子ポップアップにフォーカスがあるときにEnterキーを押した後、メイングリッドに戻ります。親ポップアップでEnterキーを押すと、期待どおりに何も起こりません。
function gridSumbitEnterAutoFocus(e) {
e.container.keypress(function(event) {
event.bubbles = false;
event.stopPropagation(); debugger;
//if the key press is ESC or Enter
if (event.keyCode === 27) {//ESC
e.sender.cancelChanges();
} else if (event.keyCode === 13) {//ENTER
event.bubbles = false;
event.stopPropagation();
// e.container.find('.k-grid-update').focus().click();
e.sender.saveChanges();
}
});
e.container.data('kendoWindow').bind('activate', function(e) {
$('[autofocus]').focus()
})
}