启用一个输入文本框,然后将其聚焦到jQuery Mobile

Enable an input textbox then focus it - jQuery Mobile

本文关键字:然后 聚焦 Mobile jQuery 一个 文本 输入 启用      更新时间:2023-09-26

我有一个最初被禁用的输入文本框。

<input type="text" name="count" id="count" value="0" disabled="true" data-theme="b" />

当我选中一个单选按钮时,我想启用并聚焦文本框,但当我单击单选按钮时它会启用文本框并聚焦其他一些文本框。我认为它不起作用,因为文本框最初是被禁用的,您无法集中禁用的输入。

$(":input[@name='radio']").live('change', function() { 
  $(":input[@name='count']").removeAttr("disabled").focus();
});

如何启用文本框,然后对其进行聚焦?

选择器似乎有问题。。。尽管文本输入框已启用,但在我尝试时,它并没有集中注意力

$(":input[@name='count']").removeAttr("disabled").focus();

但当我尝试这个时,它奏效了:

$("#count").removeAttr("disabled").focus();

我无法解释为什么会发生这种事。。。


编辑:它与选择器有关,因为它也起作用:

$("input[name='count']").removeAttr("disabled").focus();

但我仍然不明白为什么使用第一个选择器,文本框会被启用,但不会被聚焦。。。

尝试以下代码

$('#count').textinput('enable').focus();

它对我来说很好

参见

http://jsfiddle.net/kunalvashist/LFXd2/

你必须在pageshow上完成。

  $("#mainPage").on("pageshow", function (e) {
    $('#searchField').focus();
});

在上

<body class="ui-mobile-viewport ui-overlay-c">
    <div data-role="page" data-add-back-btn="true" id="mainPage">
        <div data-role="header" data-theme='b'>
           <input type="text" id="searchField" placeholder="Search" />
        </div>
    </div>
</body