Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使onFocus一次性发生?_Javascript_Html_Events - Fatal编程技术网

Javascript 如何使onFocus一次性发生?

Javascript 如何使onFocus一次性发生?,javascript,html,events,Javascript,Html,Events,如何使此onFocus只发生一次(不像现在那样用对话框阻塞窗口) 更新: 对不起,当我说“一次”时,我指的是每次它接收焦点时的一次。目前,单焦点显示无限对话框。这是有问题的。当输入字段获得焦点并触发焦点事件时,您可以通过设置一个警报框来处理该事件,该框将焦点从输入字段中移除(“模糊”事件)。当警报解除时,输入字段再次获得焦点,再次触发焦点,并导致无休止的增益/丢失/增益焦点循环。你不止一次地获得焦点,因为你正在改变焦点 您不希望在焦点处理程序中执行这样的更改焦点的操作,除非是“当此控件获得焦

如何使此onFocus只发生一次(不像现在那样用对话框阻塞窗口)


更新:


对不起,当我说“一次”时,我指的是每次它接收焦点时的一次。目前,单焦点显示无限对话框。

这是有问题的。当输入字段获得焦点并触发焦点事件时,您可以通过设置一个警报框来处理该事件,该框将焦点从输入字段中移除(“模糊”事件)。当警报解除时,输入字段再次获得焦点,再次触发焦点,并导致无休止的增益/丢失/增益焦点循环。你不止一次地获得焦点,因为你正在改变焦点

您不希望在焦点处理程序中执行这样的更改焦点的操作,除非是“当此控件获得焦点时,将焦点发送到另一个控件”

如果您做了一些不会导致焦点改变的事情(警报会这样做),例如在获得焦点时向
div
添加文本,您将看到事件只会发生一次


如果你描述了你真正想要完成的事情,你可能会得到更好的建议。我假设警报只是一个测试。

是的,警报只是一个测试;我没有意识到它正在失去和重新获得焦点。。。谢谢
<html>
    <form name="myForm">
      <input type="button"
             value="Big Button"
             name="myButton"
             onFocus="alert('Focus event occured')">
    </form>
    </html>