Javascript jQuery错误:递归太多
我将此用于jQuery。它在每一页上都能正常工作,除了我的注册,它被调用了4次。在注册页面上,我在jQuery的第57行发现了一个太多的递归错误(一个托管在Google上)。我不认为jQuery是问题所在,尽管我认为这与我的代码或插件有关。你能看看有没有看到什么吗 代码:Javascript jQuery错误:递归太多,javascript,jquery,jquery-plugins,watermark,Javascript,Jquery,Jquery Plugins,Watermark,我将此用于jQuery。它在每一页上都能正常工作,除了我的注册,它被调用了4次。在注册页面上,我在jQuery的第57行发现了一个太多的递归错误(一个托管在Google上)。我不认为jQuery是问题所在,尽管我认为这与我的代码或插件有关。你能看看有没有看到什么吗 代码: $(文档).ready(函数(){ $(“.text”).addClass(“idleField”); $(“.text”).focus(函数(){ $(this.removeClass(“idleField”); $(thi
$(文档).ready(函数(){
$(“.text”).addClass(“idleField”);
$(“.text”).focus(函数(){
$(this.removeClass(“idleField”);
$(this.addClass(“focusField”);
});
$(“.text”).blur(函数(){
$(this.removeClass(“focusField”);
$(此).addClass(“idleField”);
});
$(“#rescaptcha_response_field”).attr(“tabindex”,“5”);
$(“#用户名”)。水印(“所需用户名”);
$(“#密码”)。水印(“6到12个字符之间的密码”);
$(“确认密码”)。水印(“确认密码”);
$(“#电子邮件”).水印(“请插入有效电子邮件”);
$(“#检查用户”)。单击(函数(){
$(“#结果”).html(“加载…”);
var user=$(“#用户名”).attr(“值”);
$.get(“library/regUserCheck.php”,{name:user},函数(数据){
$(“#结果”).html(数据);
});
});
$(“#errorField”)。延迟(5000)。淡出(1250);
});
代码中的递归太多,这对您来说不意味着什么吗?以下是改进后的代码:
$(function() {
$(".text").addClass("idleField").focus(function () {
$(this).removeClass("idleField").addClass("focusField");
}).blur(function () {
$(this).removeClass("focusField").addClass("idleField");
});
$("#recaptcha_response_field").attr("tabindex", "5");
/*@cc_on
var $username = $("#username");
$username.watermark("Desired Username");
$("#password").watermark("Password between 6 and 12 characters");
$("#confirmPassword").watermark("Confirm Password");
$("#email").watermark("Please insert a valid email");
*/
$("#checkUser").click(function () {
$("#results").html("<img src='images/loading.gif' alt='loading...' />loading...").load("library/regUserCheck.php", {
name: $username.val()
});
});
<?php if ($error) { /* Make error fade out */ ?>
setTimeout(function () {
$("#errorField").fadeOut(1250);
}, 5000);
<?php } ?>
});
如果不能这样做,将其缓存到变量中。例如:
var $el = $('#el');
$el.html('loading…');
setTimeout(function() {
$el.load('/ajax/echo/html', {html: 'Hello, world!'});
}, 5000);
例如,如果要为元素指定更多CSS规则,这是最好的语法:
$('#el').css({
'background-color': 'blue',
color: 'white'
});
- 这实际上取决于样式,并不重要,但您可以使用
作为$(function(){
的缩写$(document).ready(function(){
我希望这足够了。如果问题是多次调用
水印
,我会尝试使用计时器:
$("#username").watermark("Desired Username");
window.setTimeout(function() { $("#password").watermark("Password between 6 and 12 characters"); }, 100);
window.setTimeout(function() { $("#confirmPassword").watermark("Confirm Password"); }, 200);
window.setTimeout(function() { $("#email").watermark("Please insert a valid email"); }, 300);
你用的是什么版本的JQuery?你用的是Google JQuery CDN的什么链接?1.4.4@jeffan24你能换成非缩略的一行,看看错误发生在哪一行吗?把所有的行注释掉,一次取消注释,看看它什么时候吐。@lonesomeday太多的递归行1891我认为递归意味着它变得死气沉沉的但是谢谢你的其他东西,我真的很感激,如果有用的话我会告诉你的。
$('#el').css({
'background-color': 'blue',
color: 'white'
});
$("#username").watermark("Desired Username");
window.setTimeout(function() { $("#password").watermark("Password between 6 and 12 characters"); }, 100);
window.setTimeout(function() { $("#confirmPassword").watermark("Confirm Password"); }, 200);
window.setTimeout(function() { $("#email").watermark("Please insert a valid email"); }, 300);