0

我有一个 jQuery 对话框,并希望将其中一个按钮设置为看起来和行为像默认按钮,同时仍然能够将注意力集中在表单元素上。我能够使用下面的代码成功地做到这一点,但我遇到的问题是当点击默认按钮时(而不是在点击输入时),我应用的样式被删除。单击按钮后,我尝试重新添加样式,但它不起作用。有任何想法吗?

open: function ()
{
    $('#FieldName').focus();
    $(this).parent().find('button:nth-child(1)').addClass('ui-state-focus');

    $(this).keydown(function (event)
    {
        if (event.keyCode == 13)
        {
            $(this).parent().find('button:nth-child(1)').trigger('click');
        }
    });
}

更新:这是一个小提琴:http: //jsfiddle.net/98v6Q/2/

为了在使用 fiddle 代码时查看问题,请运行 fiddle,然后单击对话框或表单中的任意位置。您会注意到按钮的默认状态仍然存在。单击“创建帐户”按钮,然后单击表单内部或外部的任意位置,您会注意到按钮状态发生了变化,但它不应该发生变化。

4

1 回答 1

1

你最好应用你自己的css。

而不是.addClass('ui-state-focus');你应该添加一个你在你的css中声明的类。

IE:

.addClass('ui-button-primary');

然后在css中

.ui-button-primary{
    //Your style here
}
于 2013-03-16T01:22:42.417 回答