jQuery $.focus() 无法使用 id 和输入类型
jQuery $.focus() not working with id and with input type
我有个小问题:
我有一个模式,在使用 ajax 进行一些结果搜索后打开:它打开并正确显示所有请求的结果。
关闭时,我需要清空另一个 ID 为 "results" 的 div,清空一个 ID 为 "search" 的输入并关注它:
- 空 "results" 有效
- 将 "search" 的值更改为 "" 也有效
- 关注 "search" 无效
这是我的 HTML:
<div class="col-sm-3">
<form action="" method="post" id="searchit">
<div class="input-group mar-btm">
<span class="input-group-addon"><i class="fa fa-search fa-lg"></i> Ricerca:</span>
<input type="text" id="search" tabindex="1" class="form-control" name="search" placeholder="Codice, EAN o Testo" />
</div>
</form>
</div>
<div class="col-sm-4" id="results"></div>
更新:
jQuery:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('');
$("#search").focus();
});
我也试过:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('').focus();
});
and(是本页唯一的文字输入):
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('');
$('input[type="text"]').focus();
});
在每种情况下,empty() 和 val() 都能正常工作,但 focus() 没有任何作用!控制台中没有抛出错误...
我想不通我在做什么missing/doing错了!
有帮助吗?提前致谢!
尝试在事件处理程序中使用 .focus()
的问题通常源于正在处理的事件 也 对焦点有影响。为了解决这个问题,我通常只是将 .focus()
调用包装在超时中:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#searc").val('');
setTimeout(function() {
$("#searc").focus();
}, 10);
});
超时处理程序将 运行 基本上在触发事件处理程序全部完成后立即进行。
我有个小问题:
我有一个模式,在使用 ajax 进行一些结果搜索后打开:它打开并正确显示所有请求的结果。
关闭时,我需要清空另一个 ID 为 "results" 的 div,清空一个 ID 为 "search" 的输入并关注它:
- 空 "results" 有效
- 将 "search" 的值更改为 "" 也有效
- 关注 "search" 无效
这是我的 HTML:
<div class="col-sm-3">
<form action="" method="post" id="searchit">
<div class="input-group mar-btm">
<span class="input-group-addon"><i class="fa fa-search fa-lg"></i> Ricerca:</span>
<input type="text" id="search" tabindex="1" class="form-control" name="search" placeholder="Codice, EAN o Testo" />
</div>
</form>
</div>
<div class="col-sm-4" id="results"></div>
更新: jQuery:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('');
$("#search").focus();
});
我也试过:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('').focus();
});
and(是本页唯一的文字输入):
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#search").val('');
$('input[type="text"]').focus();
});
在每种情况下,empty() 和 val() 都能正常工作,但 focus() 没有任何作用!控制台中没有抛出错误...
我想不通我在做什么missing/doing错了!
有帮助吗?提前致谢!
尝试在事件处理程序中使用 .focus()
的问题通常源于正在处理的事件 也 对焦点有影响。为了解决这个问题,我通常只是将 .focus()
调用包装在超时中:
$(".modal").on('hidden.bs.modal', function () {
$("#results").empty();
$("#searc").val('');
setTimeout(function() {
$("#searc").focus();
}, 10);
});
超时处理程序将 运行 基本上在触发事件处理程序全部完成后立即进行。