歌剧与戏剧Firefox关注输入问题

时间:2012-10-24 07:05:27

标签: javascript jquery jquery-ui jquery-ui-dialog

我的歌剧中的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>

1 个答案:

答案 0 :(得分:1)

确定。所以我想出了问题所在:$(document).disableSelection(); - 对此进行评论,一切正常。

jQuery UI对话框打开第一个tabbable元素,因此第一个输入被聚焦,但是由于整个文档的disableSelection因为你不能用鼠标聚焦字段。