Google Chrome导致文本框焦点无限循环

ajb*_*ven 6 javascript jquery google-chrome

我在谷歌Chrome上发生了一些奇怪的事情.使用以下代码,我收到了无数的警报.

<input type="text" />

$('input[type="text"]').live('focus', function(event) {
    alert('in');
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/XppG9/

Firefox和IE8都很好.

为什么会发生这种情况?

dpp*_*dpp 9

我想,这是因为关闭对话框(警告框)后,焦点会在文本框中返回,因此,该函数将再次触发.


Mar*_*ter 5

我认为这是因为每次单击警报的"确定"按钮时,浏览器都会将警报从警报发送到您的文本字段.您可能不会在代码的最终版本中弹出警报(methinks),因此从长远来看这可能不是问题.

  • +1也代替警报我经常在页面上添加一个额外的div(有时定位为绝对)并且只是将消息添加到该div中.例如`$("#myMessageDiv").append(messageString +"<br />");` (2认同)
  • 我更喜欢console.log,它可以处理任何类型. (2认同)