0

我在我的活动日历(wordpress)中使用 jquery 调整大小。除了日历/列表列表按钮的一些 JS 问题外,大多数事情都正常工作。

以下是 jQuery resize js 中的代码 -

    add: function (l) {
        if (!e[f] && this[k]) {
            return false
        }
        var n;

        function m(s, o, p) {
            var q = $(this),
                r = $.data(this, d); // working correctly in terms of functionality if r = undefined;  

            r.w = o !== c ? o : q.width();
            r.h = p !== c ? p : q.height();

            n.apply(this, arguments)
        }
        if ($.isFunction(l)) {
            n = l;
            return m
        } else {
            n = l.handler;
            l.handler = m
        }
    }

如果我通过r = undefined而不是$.data(this, d),我的应用程序运行顺利,但在 firebug 控制台中出错。我怎么能默默地传递这个错误,以便在将 r 定义为 undefined 之后它不会在控制台中传递错误。

4

2 回答 2

1

你可以使用 try and catch

try{

}catch(e){

}

像这个jsfiddle(没有添加 jQuery)。由于在这个 jsfiddle 示例中没有添加 jQuery,它应该在控制台中抛出一个错误,但它不会因为它位于 try 和 catch 块中。

于 2013-07-23T11:08:55.590 回答
1

我建议r在继续之前只做一个未定义的检查......

    function m(s, o, p) {
        var q = $(this),
            r = $.data(this, d); // working correctly in terms of functionality if r = undefined;  

        if (!r) return undefined;

        r.w = o !== c ? o : q.width();
        r.h = p !== c ? p : q.height();

        n.apply(this, arguments)
    }

您可以检查的返回值,m以便您可以捕获r未定义。

于 2013-07-23T11:09:26.740 回答