0

突然之间,我在 Firefox 错误控制台中收到了一堆警告……这不是今天早些时候发生的,我也没有做出重大改变。错误只是不断重复并每秒累积约 3-4 次:

Warning: reference to undefined property jQuery.ajaxSettings.traditional

这指向 jQuery.js 的第 5383 行,这是我包含的 jQuery JavaScript 库 v1.4.2 文件。这是我今天添加的唯一新代码:

$(document).ready(function(){
    // search field focus and blur event handlers
    $('#search-field').focus(function() {
        if($(this).hasClass('placeHolder')){
            $(this).val('');
            $(this).removeClass('placeHolder');
            $(this).addClass('search-field');
        }
    });
    $('#search-field').blur(function() {
        if($(this).val() == '') {
            $(this).val('Search');
            $(this).addClass('placeHolder');
        }
    });
});

因此,当我将此代码单独放在自己的文件中时......我收到以下警告:

Warning: reference to undefined property E.queue

Warning: anonymous function does not always return a value
   Source File: http://localhost/jQueryChat/js/jQuery.js
   Line: 404, Column: 2
   Source Code:
        }, 

Warning: anonymous function does not always return a value
   Source File: http://localhost/jQueryChat/js/jQuery.js
   Line: 416, Column: 23
   Source Code:
        return jQuery.ready(); 

..等等。所以我不知道为什么会这样。有任何想法吗?

更新:我去了 about:config for Firefox 并转向javascript.options.strict并且false警告消失了。但我觉得这不是一个解决方案。

谢谢, 赫里斯托

4

4 回答 4

1

jQuery 对警告的重要性不高,因为它们不是批评者。您可以在 FireFoxabout:config设置javascript.options.strict中禁用严格警告false,或者在错误控制台中使用它们。

无论如何,如果禁用它们,在使用 jquery-ui-1.7.2.custom.css 时仍可能会看到一些警告

于 2011-01-25T13:33:59.650 回答
0

您可能还想重新启动 Firefox 并在另一个浏览器中验证 JS 错误,以消除 JS 引擎崩溃并给出错误错误的任何可能性。

于 2010-06-24T17:35:36.030 回答
0

首先,我不能发表评论
您的代码有效。没有错误。
您可以尝试做的是尝试覆盖 $-FUNCTION。

只需尝试添加到您的代码
jQuery.noConflict();

并尝试...

  jQuery(document).ready(function(){
    jQuery('#search-field').focus(function() {
        if(jQuery(this).hasClass('placeHolder')){
            jQuery(this).val('');
            jQuery(this).removeClass('placeHolder');
            jQuery(this).addClass('search-field');
        }
    });
    jQuery('#search-field').blur(function() {
        if(jQuery(this).val() == '') {
            jQuery(this).val('Search');
            jQuery(this).addClass('placeHolder');
        }
    });
});


如果您正在使用任何其他 js 框架或插件。这可以提供帮助。

干杯

于 2010-06-24T17:38:26.403 回答
0

我去about:config了Firefox并转向javascript.options.strict并且false警告消失了。但我觉得这不是一个解决方案。

http://www.howtocreate.co.uk/strictJSFirefox.html

赫里斯托

于 2010-06-24T18:05:37.533 回答