【问题标题】:Check if input field has focus and pass input variable to function [duplicate]检查输入字段是否具有焦点并将输入变量传递给函数[重复]
【发布时间】:2016-01-19 03:39:25
【问题描述】:

我有一个输入字段,每 x 秒更新一次:

<input type="number" name="METER" id="METER.NUM" min="0" max="500" step="0.10" oninput="setMeter(currentValue);" >

现在,我想检查输入字段是否有焦点(用户单击该字段)。

如果字段有焦点:

  • 我将停止更新该字段,用户可以在该字段中添加一些值
  • 然后应该将值传递给函数

这是javascript代码:

if (document.getElementById(array[0]).name == "METER") {
    // check if the input field has focus
    // stop updating
}

我的方法/代码有什么问题?我认为一个问题是,oninput 的函数调用不起作用。但它通过 onClick 起作用。

【问题讨论】:

  • 您是否尝试过使用“onChange”事件。 w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange
  • @Onilol 我已经看到了这个问题,但我不知道如何使用 $("..").is(":focus")
  • 我试过这个:if(document.getElementById(array[0]).is(":focus"))
  • @Philies 检查元素是否具有伪类焦点。尝试这样的事情:$(my_element_id_here).is(":focus")
  • @Onilol:OP 不使用 jQuery,而是纯 Javascript ;)

标签: javascript html css


【解决方案1】:

使用onfocus = myFunction()

function setMeter() {
    console.log('hey, im focused');
    // do stuff here
}
&lt;input type="number" name="METER" id="METER.NUM" min="0" max="500" step="0.10" onfocus="setMeter();" &gt;

【讨论】:

  • 想法:使用onfocus="setMeter(this);"function setMeter(el)也可以访问被点击元素的属性
猜你喜欢
  • 1970-01-01
  • 2011-07-22
  • 2021-02-23
  • 2022-06-10
  • 1970-01-01
  • 2019-12-23
  • 2018-05-11
  • 1970-01-01
  • 2017-12-17
相关资源
最近更新 更多