jQuery焦点事件将警报框保持在无限循环(Chrome)

时间:2018-04-09 18:28:10

标签: jquery

有谁知道为什么在以下focus()事件处理程序中显示一个简单的警告框永远不会停止?我也试过focusin()同样的结果。事件是否在循环中多次触发? 我在Chrome中运行

$('input[type=text]').focus(function() {  // Also tried focusin(..)
  alert('Focus');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Input:
<input type="text" id="myinput"/>

1 个答案:

答案 0 :(得分:1)

你可以这样做。首先定义一个全局变量。然后你可以采取行动。原因: 因为它总是被选中。当您按下警告框上的“确定”按钮时,它将再次成为输入焦点。因此它进入一个连续的循环。

$('input[type=text]').focus(function() {  // Also tried focusin(..)
  alert('focus');
  $(this).blur();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Input:
<input type="text" id="myinput"/>

另外:Javascript: cross browser solution for selecting all text inside a textbox on focus