javascript - 输入元素是否有可能没有焦点的光标?

标签 javascript jquery html television

好吧,这是一个独特的场景。

这是一个网络应用程序,只能在机顶盒上访问。此应用程序的外围设备是电视 Remote

即:没有键盘没有鼠标

当然,通常情况下,当输入元素获得焦点时,光标会出现并在当前位置闪烁。您键入字符,它们会显示出来,然后光标自动前进。哇哦!

但我们需要做的是在输入元素未获得焦点时复制该行为

此行为主要出现在视频游戏和其他电视/大屏幕界面中。你有一个屏幕键盘,你可以通过导航到一个字母或数字并按下回车/选择或该平台的任何按钮“选择”来选择字符(比如 Playstation 上的“X”按钮)。该字母显示在输入字段中,cursor前进,但实际具有焦点的元素是屏幕键盘上的当前键。

我们尝试使用 <div> 制作键盘标签,但是我们失去了非常方便的行为 placeholder attr,它只是一团逻辑重现了 cursorplaceholder应该做。我喜欢 cursor始终在输入元素上,紧跟在最后一个字符之后,并且在输入没有值时不出现,仅显示 placeholder="Search" .几乎听起来我需要能够在一个页面上有两个具有焦点的元素,据我所知这是不可能的。

但是有没有可能让一个输入元素没有聚焦并且仍然看到一个光标?或者我们是否坚持使用其他标签并从头开始重新创建该行为?

网上搜了一圈,没找到解决方法。 jQuery 解决方案是可以接受的。

最佳答案

我不知道我是否理解你的问题,但你可以用 | 字符模拟一个光标。我整理了一个可能对您有帮助的简单示例。

example fiddle

html

<input id="cursor" type="text">

js

window.setInterval(function(){
  input=$("#cursor")

  if(!input.is(":focus") && (input.val()=='' || input.val()=='|')){
      if(input.val()==''){input.val("|");}
      else if(input.val()=='|'){input.val("");}

  }
  else{}
}, 500);

关于javascript - 输入元素是否有可能没有焦点的光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27805861/

相关文章:

javascript - 在 highcharts 中转义单引号

JavaScript 两次时间之间显示的时间不正确

javascript - Jquery 拖放 z-index

javascript - Jquery 绑定(bind)和就绪事件?

javascript - 如何使用表单和 Controller 来存储输入

html - 在列中堆叠 div

php - json_encode 和重音

javascript - 掩码文本输入以验证 MM/YY jquery-mask-plugin

jquery - react-materialize 侧边栏问题 TypeError : $(. ..).sideNav 不是函数

html - CMS 编辑器不工作