我的歌剧中的Jquery UI对话有一个奇怪的问题。在所有其他浏览器中,代码工作正常,包括IE 8,但出于某种原因,在Opera中我必须使用选项卡按钮来选择对话框中的字段。我无法使用鼠标选择字段!
更新:我也有这个问题与Firefox!所以这不仅仅是歌剧。它绝对适用于Chrome& IE浏览器。我无法选择任何输入字段。有人知道我如何能够正常地关注我的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 :(得分:1)
确定。所以我想出了问题所在:$(document).disableSelection();
- 对此进行评论,一切正常。
jQuery UI对话框打开第一个tabbable元素,因此第一个输入被聚焦,但是由于整个文档的disableSelection
因为你不能用鼠标聚焦字段。