2012-10-24 39 views
2

我有一個奇怪的問題,我的Jquery UI對話框在歌劇。在所有其他瀏覽器中,代碼工作正常,包括IE 8,但由於某些原因,在Opera中,我必須使用Tab鍵來選擇對話框中的一個字段。我無法使用我的鼠標選擇一個字段!歌劇和火狐焦點問題上的輸入

更新:我對Firefox也有這個問題!所以它不只是歌劇。它在IE瀏覽器Chrome &中絕對可以正常工作。我無法選擇任何輸入字段。任何人都知道我可以如何正常地將注意力集中在我的html元素上?

//Build the dialog 
    function createActivityDialog() { 
     var dropdown, activitydialog, timepicker, i, stageid; 

     timepicker = "<select name='dialogbegintime' id='dialogbegintime'>"; 
     for (i = 0; i < $("#times li").length; i = i + 1) { 
      timepicker += "<option value='time" + i + "'>" + hourArray[i] + ":00" + "</option>"; 
     } 
     timepicker += "</select>"; 

     dropdown = "<select name='podia' id='podia'>"; 
     for (i = 0; i < $(".tr").length; i = i + 1) { 
      stageid = $(".tr").eq(i).attr("id"); 
      dropdown += "<option value='" + stageid + "'>" + $(".th").eq(i).html() + "</option>"; 
     } 
     dropdown += "</select>"; 

     activitydialog = $('<div></div>').html("<p id='dialogTip'>Voer hier een nieuwe activiteit in:</p><br />" + "Naam: <input type='text' name='activityName' id='activityName' /><br />" + "Selecteer een begintijd:" + timepicker + "<br />Selecteer het podium: " + dropdown).dialog({ 
      autoOpen : false, 
      title : 'Activiteit Toevoegen', 
      height : 300, 
      width : 350, 
      modal : true, 
      close : function() { 
       $(this).remove(); 
      } 
     }); 
     return activitydialog; 
    } 

//Call/Open the dialog 

$("#SomeForm").submit(function(event) { 
    var mydialog; 
    mydialog = createActivityDialog(); 
    mydialog.dialog('open'); 
    mydialog.dialog("option", "buttons", [{ 
     text : "Ok", 
     click : ActivityDialogOk 
    }, { 
     text : "Cancel", 
     click : function() { 
      $(this).dialog("close"); 
     } 
    }]); 
    event.preventDefault(); 
}); 

HTML:

<form id="SomeForm" method="post"> 
    <button type="submit" name="addActivity"> 
     Add 
    </button> 
</form> 
+0

請問,你能提供你的HTML和函數調用嗎? 你可以使用http://jsfiddle.net/服務並在這裏發佈一個鏈接。 – maxwell

+0

我試圖把它放在js小提琴上,但jquery ui對話框看起來真的不起作用。另外,我似乎在我的問題中達到了字符限制。 – Tim

+0

// HTML <表格ID = 「SomeForm」 方法= 「POST」> <按鈕類型= 「提交」 名稱= 「addActivity」> \t添加 – Tim

回答

1

確定。所以我覺得問題在哪裏:$(document).disableSelection(); - 評論這一點,所有將正常工作。

jQuery UI對話框打開第一個tabbable元素,所以第一個輸入焦點集中,但由於整個文檔由於disableSelection導致您無法使用鼠標集中字段。

+0

,完美的作品! – Tim

+0

我希望禁用頁面選擇,但這是一個很酷的功能。我得看看它。 – Tim