4

私のhtmlコードでは:

<div data-role="fieldcontain" id="containdiv" class="no-field-separator">
    <label for="field1" class="ui-hidden-accessible">To</label>
    <input type="search" name="field1" id="field1" autocorrect="off" autocapitalize="off" autocomplete="off" placeholder="Field #1?" value="" />
    <input type="hidden" id="field1val" name="field1val"/>
</div>

DOM では、jQuery モバイルで処理された後、次の要素が挿入されています。

<span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>

検索inputと非表示の間にinput

ユーザーが検索入力を入力すると、いくつかの処理が実行され、非表示フィールドの値が更新されます。

これが発生すると、このスパン (クラス " ui-helper-hidden-accessible") の内容が非表示の入力の値で更新されていることに気付きます。

何が起こっているのか、何が原因なのかはわかりません。

調査の結果、次のことがわかりました: http://forum.jquery.com/topic/ui-helper-hidden-accessible-change

このフィールドの実際の目的は、「非表示でもアクセスできる」ようにすることですが、そうではないようです。ブラウザー内で表示されるようにレンダリングされます。

jQuery がフォーム内でこの要素を作成できないようにする方法はありますか?

4

4 に答える 4

8

フォーカスされたクラスを非表示にします。

$( ".selector" ).autocomplete({
focus: function (event, ui) {
                $(".ui-helper-hidden-accessible").hide();
                event.preventDefault();
            }
});
于 2013-07-29T09:36:38.493 に答える
7

これを試すことができます。

.ui-helper-hidden-accessible { display:none; }
于 2013-04-09T06:05:16.323 に答える
1

jQuery Mobile が行っていることを無効にできるかどうかはわかりませんが、要素を非表示にするなどの方法を試してみましたか?

$(".ui-helper-hidden-accessible").hide();

お役に立てれば。

于 2013-01-13T03:04:43.867 に答える