ユーザーが押したときにデフォルトボタンに関連付けられたイベントを発生させないjQuery確認ダイアログがありますEnter。マウスを使用すると、ボタンは期待どおりに動作します。
Enter キーを押すと、デフォルトのボタン (「キャンセル」)が強調表示されますが、それ以外は何も起こりません。
これはダイアログです:
上記のダイアログを生成するコードは次のとおりです。
$(document).ready(function () {
$('#m_btnNext').click(function (e) {
var my_messages = 'warning';
if (my_messages.length > 0) {
e.preventDefault();
$('#dialog-confirm-withdraw').html(my_messages);
$("#dialog-confirm-withdraw").dialog("open");
return false;
}
return true;
});
var cascadeConfirmWithdrawMarkup = "<div id='dialog-confirm-withdraw' title='Withdraw'><p>Set on build</p></div>";
$(cascadeConfirmWithdrawMarkup).appendTo('body').hide();
$('#dialog-confirm-withdraw').dialog({ title: '<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Withdraw Warnings',
width: 400,
height: 175,
resizable: false,
draggable: false,
modal: true,
autoOpen: false,
open: function () {
$('.ui-dialog-buttonpane button:eq(1)').focus();
},
buttons: {
"Proceed with withdraw": function () {
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
});
最も単純な形式では、このコードは正常に機能しますが、実際の形式で犯人を特定するのは非常に困難です。
上記のコードのみが存在するように、他のすべての JavaScript をコメントアウトしました。エラーはコンソールに記録されません。それでも何も起こりません。
上記の js に明らかなエラーがない場合、この干し草の山から針を見つける最善の方法は何ですか?
マゾヒストは、完全な HTML ページ (すべての JavaScript を含む) をここからダウンロードできます。FF の「Web ページ、完全」という名前で保存を使用して、その zip を作成しました。
このフォームに機能を追加しているだけであることに注意してください。私はそれを作成しませんでした。