Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 这是一个JS无限循环吗?_Javascript_Jquery - Fatal编程技术网

Javascript 这是一个JS无限循环吗?

Javascript 这是一个JS无限循环吗?,javascript,jquery,Javascript,Jquery,我有一个输入类型class='text',使用jQuery,每次这个文本框模糊时,我都会对文本框应用css('background','red')。问题是,当我尝试通过输入alert('test')调试代码时,我在对话框上单击OK,带“test”的对话框不断弹出 这仅仅是因为点击OK被认为是文本框中的模糊,还是更严重的问题? 提前谢谢 $('#input').blur(function(){ $(this).css('background','red'); alert

我有一个输入类型class='text',使用jQuery,每次这个文本框模糊时,我都会对文本框应用css('background','red')。问题是,当我尝试通过输入
alert('test')
调试代码时,我在对话框上单击OK,带“test”的对话框不断弹出

这仅仅是因为点击OK被认为是文本框中的模糊,还是更严重的问题? 提前谢谢

$('#input').blur(function(){
       $(this).css('background','red');
       alert('test');
}

您应该使用控制台而不是警报进行调试:

$('#input').blur(function(){
       $(this).css('background','red');
       console.log('test');
});

我相信大多数点击F12的浏览器都会打开控制台。

这不是一个无限循环。 警报关闭只是分派事件

尝试改用
console.log(“test”)
并观察浏览器控制台

谢谢。

请改为这样做

$('#input').blur(function(){
       $(this).css('background','red');
       console.log('test');
});
你的密码

如果一次又一次地出现模糊事件,听起来像是将元素重新聚焦在模糊上。

代码错误:
缺失

$('#input').blur(function(){
       $(this).css('background','red');
       alert('test');
});

您的代码运行良好。

使用
console.log
进行调试,这将使您的调试更加轻松。使用
console.log('test')
而不是
alert()
alert过去是一种调试方法,但现在有了更好的替代方法。您可以使用
console.log()
。每个好的浏览器都有一个JavaScript控制台,试着按F12。大家好,谢谢你们的回复。我会试试的。关于你的代码和OPs(除了打字错误)之间的区别是什么?@SalmanA没什么,但错误就是错误,尽管OP的代码运行良好,所以我试图找出错误。谢谢..OP提到警报触发,所以问题不是缺少
,可能是复制时出错。顺便说一句,我没有-1。可能值得注意的是,这将在旧版本的internet explorer中引发错误。不过,修复程序很容易找到。@jbabey是的。在实践中,如果这是一个临时声明,我只是把它放进去,然后在完成后取出。在生产设置中,我使用
var console={log:function(){}预先编写所有脚本这会导致在缩小阶段剥离所有console.log调用。然后,它们只存在于我的开发环境中,但实时代码没有任何内容。:)