为jQuery编写一个命名空间函数,该函数对参数而不是选择器进行操作

时间:2011-11-08 18:10:21

标签: javascript jquery jquery-plugins prototype-programming

我一直想在jQuery中启动一个函数库,在我的代码中横向使用 我认为这样做的一个好方法是构建一个jQuery命名空间并添加我的 根据该方法(并为所有想要贡献的人提供名称空间) 这就是我想出的:

(function( $ )
{
    $.extend
    ({
        mynamespace:
        {
            myfunction: function(a, b)
            {
                if (!Math.prototype.newmethod)
                {
                    Math.prototype.newmethod = function(c, d)
                    {
                        // newmethod code
                    }
                }
                // myfunction code (uses Math.newmethod)
            }
        }
    })
})(jQuery);

现在这在我最初调用它的小测试文件中运行良好(代码完成了我想要的)但执行后我得到以下错误:

  

DOM例外:
   INVALID_CHARACTER_ERR(5)

我忽略了它,不确定它来自何处以及如何修复它(我在网上找到的少数参考资料与我没有使用的IE9相关)但当我在网站范围内使用我的新代码时一切都开始打破错误信息,如

  

未捕获的TypeError:undefined不是函数

  

未捕获的TypeError:对象函数(c,d){// newmethod code}

欢迎任何关于我做错的想法

P.S。
我调用上述代码的方式是:

var temp = $.mynamespace.myfunction(a, b);    

0 个答案:

没有答案