2013-06-03 247 views
1

我有一個dialog box有兩個按鈕,它使用jQuery UIjquery對話框tabindex按鈕

在對話框的內部有一些表單元素,我可以通過使用TAB鍵進行切換。現在無法使用TAB鍵訪問「是」按鈕。接縫沒有TabIndex

我該如何做到這一點?

$("#dialog").dialog({ 
    resizable: false, 
    height: 250, 
    width: 420, 
    zIndex: 100, 
    stack: false, 
    modal: true, 
    buttons: { 
     "Yes": function() { 
      doSomthing(); 
     }, 
     "No": function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 
+0

您正在使用哪個版本的jQuery UI?工作正常.. http://jsfiddle.net/puCx8/ – billyonecan

+0

一個按鈕不需要tabindex來獲得焦點。似乎在這裏工作得很好:http://jsfiddle.net/7Y3u9/ –

回答

2

更改按鈕參數以使用jQuery.ui的陣列規範,它允許設置之類的按鈕的ID和的TabIndex,任何其他支持的屬性中,所述按鈕小部件支持。

buttons: [ 
     { 
      text: "Yes", 
      click: function() { doSomething(); }, 
      tabindex: 0 
     }, 
     { 
      text: "No", 
      click: function() { $(this).dialog("close") }, 
      tabindex: -1, //You can disable tabbing by setting it -1 
      class: 'other-class-name', 
      id: 'IDofButton' 
     } 
] 

只是擡起頭對jQuery.ui版本 - 1.10版支持全鍵子集 - jQuery.ui以前的迭代支持更小的子集 - 因人而異 - 我在過去的方法是嘗試添加元素,看到它是如何解析的 - 例如,在傳統版本中,類參數可能是class * es *,其他一些參數可能會被忽略。