我有一個jQuery確認對話框,當用戶按下時,不會觸發與默認按鈕相關的事件輸入;當我使用鼠標時,按鈕的行爲如預期。jQuery對話框不響應鍵盤按下
默認按鈕('取消')確實突出顯示當我按下輸入,但沒有其他事情發生。
這是對話框:
這裏是產生上面的對話框代碼:
$(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");
}
}
});
});
最簡單的形式,this code works fine,但我有見真章了巨大的困難,匪徒在我的真實的形式。
我註釋掉了所有其他的javascript,所以只有上面的代碼存在;沒有錯誤記錄到控制檯;但沒有任何反應。
如果在我上面的js中沒有明顯的錯誤,那麼在這個草垛中找到針的最佳方法是什麼?
masochists可以下載完整的HTML頁面(所有javascript),here。我使用FF的另存爲「網頁,完整」來創建該壓縮文件。
請記住,我只是在此表單中添加功能;我沒有創建它。
在您的*真實*表格上,當您按下回車鍵時,取消按鈕是否確實專注於?你提到突出顯示,但只是想仔細檢查。您可以按Tab切換瀏覽器上的表單域來測試這一點,因爲您無疑已經知道這一點。 – martinwnet
您是否有任何附加到文檔的按鍵事件? – epascarello
我們需要了解您的真實形式中還有哪些其他活動。請發佈整個代碼。 –