我有一个 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,然后单击对话框或表单中的任意位置。您会注意到按钮的默认状态仍然存在。单击“创建帐户”按钮,然后单击表单内部或外部的任意位置,您会注意到按钮状态发生了变化,但它不应该发生变化。