为 jQuery 编写一个命名空间函数,该函数对参数而不是选择器进行操作
我一直在尝试在 jQuery 中启动一个函数库,以便在我的代码中横向使用
我认为这样做的一个好方法是构建一个 jQuery 命名空间并添加 my
其下的方法(并为所有愿意贡献的人提供命名空间)。
这就是我想到的:
(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 相关)但是当我在站点范围内使用了我的新代码,一切都开始中断,并出现错误消息,例如
未捕获类型错误:未定义不是函数
并且
未捕获类型错误:对象函数 (c, d) { // 新方法代码 }
欢迎任何关于我做错了什么的想法
PS
我调用上述代码的方式是:
var temp = $.mynamespace.myfunction(a, b);
I've been tying to start a library of functions in jQuery to use transversally in my code
I thought that a good way of doing this would be to build a jQuery namespace and add my
methods under that (and provide the namespace for all who would like to contribute).
This is what I came up with:
(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);
Now this worked fine in the small test file where I originally called it (the code did what I wanted it to) but after execution I got the following error:
DOM Exception:
INVALID_CHARACTER_ERR (5)
I ignored it, not being sure where it was coming from nor how to fix it (the few references I found on the web associated the problem with IE9 which I was not using) but when I used my new code site-wide everything started breaking with error messages such as
Uncaught TypeError: undefined is not a function
and
Uncaught TypeError: Object function (c, d) { // newmethod code }
Any ideas as to what I'm doing wrong are welcome
P.S.
The way I call the code described above is:
var temp = $.mynamespace.myfunction(a, b);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论