如何让这个onFocus只发生一次(不是现在用对话框阻挡窗口)?
<html>
<form name="myForm">
<input type="button"
value="Big Button"
name="myButton"
onFocus="alert('Focus event occured')">
</form>
</html>
更新
抱歉,当我说“一次”时,我指的是每次获得焦点时的一次。目前只有一个焦点,它会显示无限的对话框。答案 0 :(得分:1)
这是有问题的。当输入字段获得焦点时,会触发焦点事件,您可以通过在输入字段中放置一个警告框来处理该事件,该警告框将重点放在(“模糊”事件)。当警报被取消时,输入字段再次获得焦点,甚至再次触发焦点,并导致无限循环的增益/失去/获得焦点。由于您正在改变焦点,因此您不止一次地获得焦点。
你不想要在聚焦处理程序中做一些改变焦点的事情,除非它是“当这个控件获得焦点时,将焦点发送到另一个控件”
如果您执行的操作不会导致焦点更改(警报执行此操作),例如在获得焦点时向div
添加文本,您将看到该事件仅发生一次。
如果你描述了你真正想要实现的目标,你可能会得到更好的建议。我认为警报只是一种测试。