如何防止元素失去焦点?

新手上路,请多包涵

如何将焦点保持在一个文本框上?即使您单击浏览器中的任意位置。

 $("#txtSearch").focus();

原文由 Bonesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 665
1 个回答

您需要订阅 blur 事件 textbox 并在短时间内恢复焦点:

 $('#txtSearch').blur(function (event) {
    setTimeout(function () { $("#txtSearch").focus(); }, 20);
});

这样您就不会依赖于订阅页面上任何其他元素的事件。如果您订阅 body clickhtml click ,如果任何其他元素阻止传播其 click 事件,它也不会运行来自 textbox

例子:

 <!-- I will not propagate my click to top level DOM elements -->
<button id="button">Click me</button>

<script>
$('#button').click(function (event) {
    event.stopPropagation();
});
</script>

原文由 Konstantin Dinev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题