javascript - jQuery 函数仅适用于一次 Html5 自动对焦

标签 javascript jquery html

我有一个带有搜索栏和以下功能的移动应用:

$(".dk").hide(0);
  $("#fus").click(function () {
      $(".dk").fadeOut(100);
      $("#sim").removeAttr("autofocus")
  });
 $("#ys").click(function (e) {
    $("#s,#u,#n,#l,#a,#m,.dk").hide(100);
    $("#re,#r").animate({"margin-left": "0px"}, 200);
    $("#s,#u,#n").animate({ "margin-left": "2px"}, 200);
    $("#sim").delay(300).attr({"autofocus": "autofocus"});
    $(".dk").fadeIn(100);       
    e.stopPropagation();
    });
 })

HTML

<div style="padding-top:10px;" id="toolbar"> <a href="#" id="open-left"></a> <div class="tbar"> <img style="height:30px;" src="img/cles.png" /> <div class="ha"> <img id='ys' style=" height:27px" src="img/searchico.png" /> </div> </div> </div> <div class='dk'> <form id="hif"> <input id='sim' type="search"> <img style="position:absolute;height:26px;margin-left:-270px;margin-top:20px;" src="img/searchicog.png"> </form> </div>

我正在尝试淡入和淡出 div .dk (又名搜索框)。 #Ys是搜索图标,#sim是输入字段,#fus是单击(或点击)以触发 fadeOut 函数的位置。

不幸的是它只能自动对焦一次。它还弄乱了 fadeIn当它起作用时。之后,我必须刷新页面才能再次自动对焦。

这段 YouTube 视频展示了我想要实现的目标:https://www.youtube.com/watch?v=T5n3m2LRy5Y

最佳答案

设置自动对焦属性不会导致焦点发生变化。相反,您应该使用 .focus() 方法。

$(".dk").hide(0);
  $("#fus").click(function () {
      $(".dk").fadeOut(100);
      $("#sim").removeAttr("autofocus")
  });
 $("#ys").click(function (e) {
    $("#s,#u,#n,#l,#a,#m,.dk").hide(100);
    $("#re,#r").animate({"margin-left": "0px"}, 200);
    $("#s,#u,#n").animate({ "margin-left": "2px"}, 200);
    $("#sim").delay(300).focus();
    $(".dk").fadeIn(100);       
    e.stopPropagation();
    });
 })

此外,.delay 不会延迟非动画,因此要延迟焦点,您需要使用 setTimeout。

setTimeout(function(){
    $("#sim").focus()
},300)

关于javascript - jQuery 函数仅适用于一次 Html5 自动对焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23598794/

相关文章:

javascript - 如何使 div 在悬停时正确隐藏,同时尝试使 gif 也在悬停时开始

javascript - 我可以在内联js中使用defer属性吗?

java - java 中的字节数组未显示图像

javascript - Node.JS - 简单的 Socket.IO 示例不起作用。获取调试 - 提供静态内容/socket.io.js (Mac OSX/Localhost)

javascript - 如何使用数组中的一组对打印 JavaScript 数组

javascript - 如何使用 jQuery 更改选择框的选定选项

jquery - 当在共享点中选择下拉列表中的选项时,需要 jquery 代码来禁用单选按钮

Mouseleave 事件上的 Javascript setTimeout

javascript - 图像缓存和使用 css3 加载微调器 - 需要建议

javascript - 传单 map 事件 'load' 不触发