jQuery mobile:ui-helper-hidden-accessible

时间:2013-01-13 02:42:55

标签: javascript jquery html css jquery-mobile

在我的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 mobile处理后,插入了以下元素

<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 个答案:

答案 0 :(得分:7)

你可以试试这个。

.ui-helper-hidden-accessible { display:none; }

答案 1 :(得分:7)

隐藏焦点上的类:

$( ".selector" ).autocomplete({
focus: function (event, ui) {
                $(".ui-helper-hidden-accessible").hide();
                event.preventDefault();
            }
});

答案 2 :(得分:1)

不确定您是否可以禁用jQuery Mobile正在执行的操作,但如果我了解您的需求,您是否尝试过隐藏元素?

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

希望这有帮助。

答案 3 :(得分:1)

尝试一下:

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