javascript - Opera vs Firefox 关注输入问题

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

我的 Opera 中的 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>

最佳答案

好的。所以我想出了问题出在哪里:$(document).disableSelection(); — 将其注释掉,一切都会正常进行。

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

关于javascript - Opera vs Firefox 关注输入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13044349/

相关文章:

javascript - jqueryui.com 上的日期选择器示例不起作用

javascript - 使用 HTML 将待办事项列表数据保存到本地存储

javascript - 切换下一个表

javascript - 如何使用 jQuery 创建数组列表的对象

javascript - Number 与 new Number 内部实现

Jquery:函数运行两次

javascript - CSS 裁剪 div 元素

javascript - OOP,命名空间顶级方法中的私有(private)函数

jquery - 将 Css 类添加到所有 &lt;input type'text'> 元素? Javascript/CSS?

jquery - 将 jquery datepicker 放在页面中央