javascript - 在 Firefox 中使用焦点方法的输入类型范围不起作用

标签 javascript html firefox focus

在 HTML 代码中,我们使用输入类型范围,但问题是当我们使用焦点事件时,它在 Firefox 中无法正常工作。

这是我的代码

var p = document.getElementById("price"),
  res = document.getElementById("result");
test = document.getElementById("test");

p.addEventListener("input", function() {
  test.focus();
  test.value = "$" + p.value;
}, false);
#result {
  font-size: 2em;
}
<div style="margin-top: 1em">
  <h2>Price</h2> $51
  <input id="price" type="range" min="51" max="360" value="" />$360
</div>
<input type="text" name="test" value="" id="test" />

slider 在 mozilla 中滑动不流畅,但在 chrome 中工作正常

最佳答案

当焦点转移到输入字段时,您将无法滑动 slider 。 使用如下代码解决

var p = document.getElementById("price"),
    res = document.getElementById("result"),
    test=document.getElementById("test"),
    timeout = null;

p.addEventListener("input", function() 
{
   test.value = "$" + p.value;
   clearTimeout(timeout);
   timeout = setTimeout(function(){ test.focus(); }, 400);
}, false); 
#result {
    font-size: 2em;
}
<div style="margin-top: 1em">
    <h2>Price</h2>
    $51<input id="price" type="range" min="51" max="360" value="" />$360
</div>
<input type="text" name="test" value="" id="test"/>

在单击 slider 时暂停后使用setTimeout 将焦点放在输入字段上

关于javascript - 在 Firefox 中使用焦点方法的输入类型范围不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482949/

相关文章:

javascript - 在图表之间切换

javascript - 通过 APACHE 服务器调用多个 perl 脚本?

html - 在 ruby​​ on rails 中忽略媒体查询

debugging - Firebug 1.3.3 - 并不总是允许脚本调试?

firefox - Firefox 中查看>页面样式的目的是什么?

javascript - 如何在提交时向表单添加新的隐藏输入字段

javascript - 如何将此 javascript 转换为 jQuery

python - 如何在django中制作表格的外观?

firefox - 什么是产品版本?为什么它会随机变化?

javascript - 滚动时如何将 div/导航栏粘贴到窗口顶部