我想用jQuery的按鍵觸發一個按鈕,點擊使用jQuery對話框功能創建的模式對話框。問題是,使用下面的代碼,它第一次工作(按Enter鍵按下保存按鈕),但當我關閉模式對話框並重新打開它時,我會變得不穩定。我在想一些$(this).("button:contains('Save')")
的變體可以工作,但這不起作用。如果使用$(「#dialog」)。對話框('open')而不是autoOpen:true打開對話框。 該任務的最佳做法是什麼?對話框按鍵和DOM
謝謝!
我想用jQuery的按鍵觸發一個按鈕,點擊使用jQuery對話框功能創建的模式對話框。問題是,使用下面的代碼,它第一次工作(按Enter鍵按下保存按鈕),但當我關閉模式對話框並重新打開它時,我會變得不穩定。我在想一些$(this).("button:contains('Save')")
的變體可以工作,但這不起作用。如果使用$(「#dialog」)。對話框('open')而不是autoOpen:true打開對話框。 該任務的最佳做法是什麼?對話框按鍵和DOM
謝謝!
我會做:
$('#dialog').keyup(function(e) {
if (e.which == 13) {
var buttons = $(this).dialog('option', 'buttons');
buttons['Save']();
e.stopPropagation();
}
})
按鍵是字母。 keydown是爲了一切。我會嘗試使用keydown。
您的代碼很可能不會執行。回車將觸發默認操作,這就是它第一次運行的原因。
此處瞭解詳情:
其實,你有部分權利。如果對話框中包含一個表單,按回車鍵「提交」,但當對話框沒有包含表單時,Ken的回答會有幫助,因爲按回車鍵不會執行任何操作。 – Rio 2009-10-08 19:10:38
這似乎是一個對話框做的工作,但是,當「保存」打開一個新的對話框,關閉一切..新的對話框不會有另一個「保存「按鈕,或者... – Rio 2009-10-08 19:06:13
除非您從DOM中刪除元素,否則keyup事件處理程序不會從元素中分離。聽起來你在別的地方還有其他問題。 – 2009-10-08 19:15:43