0

jQueryダイアログがあり、フォーム要素にフォーカスを維持しながら、ボタンの1つをデフォルトのボタンのように表示および動作するように設定したいと考えていました。以下のコードを使用してこれを正常に行うことができましたが、私が遭遇している問題は、デフォルトのボタンがクリックされたとき(Enterキーが押されたときではなく)、適用したスタイルが削除されることです。ボタンをクリックしてからスタイルを追加してみましたが、うまくいきませんでした。何か案は?

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/

フィドルコードの使用中に問題を確認するには、フィドルを実行してから、ダイアログまたはフォームの任意の場所をクリックします。ボタンのデフォルトの状態が残っていることに気付くでしょう。[アカウントの作成]ボタンをクリックしてから、フォームの内側または外側の任意の場所をクリックすると、ボタンの状態が変化しますが、変化しないはずです。

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 に答える