无法将注意力集中在Twitter Bootstrap的Typeahead输入上

13 javascript jquery focus twitter-bootstrap bootstrap-typeahead

当我删除这些属性时:

data-source="<?=str_replace('"', '&quot;', json_encode($equipment, JSON_HEX_TAG | JSON_HEX_APOS)); ?>" data-items="4" data-provide="typeahead"
Run Code Online (Sandbox Code Playgroud)

我能够执行此操作:

$(document).ready(function() {
    $('.first').focus();
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML标记:

<div class="itemx">
    <input type="text" class="input-large first" autocomplete="off" placeholder="Equipment Name/Label" name="equip[]" data-source="<?=str_replace('"', '&quot;', json_encode($equipment, JSON_HEX_TAG | JSON_HEX_APOS)); ?>" data-items="4" data-provide="typeahead" />
    <input type="text" class="input-large second" placeholder="Quantity" name="quant[]" />
</div>
Run Code Online (Sandbox Code Playgroud)

注意: Typeahead运行良好,这没有错:

data-source="<?=str_replace('"', '&quot;', json_encode($equipment, JSON_HEX_TAG | JSON_HEX_APOS)); ?>"
Run Code Online (Sandbox Code Playgroud)

Evi*_*key 8

我最近有这个问题.当我首先声明.typeahead()代码块时,它会自行修复,然后给予字段焦点.如果我颠倒了订单,.typeahead()功能就破了.

$('#myField').typeahead({
    ...
});

$('#myField').focus();
Run Code Online (Sandbox Code Playgroud)


小智 8

typeahead拥有自己的焦点方法版本.禁止焦点事件的默认行为,因此唯一的方法是保持typeahead引用.

var typeaheadReference = $('.typeahead').typeahead({ ... };
Run Code Online (Sandbox Code Playgroud)

然后你就打电话 typeaheadReference.focus();


rob*_*ert 0

也许输入被隐藏了。

$('input:visible').focus();
Run Code Online (Sandbox Code Playgroud)