只需说一下,我想将我的插件分支写一下,然后决定我想能够“命名空间”它们。到目前为止,重写$.method
到$.namespace.method
已经很容易。如何使用NameSpace创建jQuery元素方法
我遇到的问题是制作元素方法,如$('element').method()
,但要使用命名空间;例如$('element').namespace.method()
。我已经尝试了几种解决方法,但是可以创建$.fn.namespace.method
,但是,如果从该方法中调用this
,我只会获得$.fn.namespace
而不是我想要获得的'element'
。
例子:如果我叫$('body').namespace.test()
,那里面方法test
,我想this
是件<body></body>
任何搞清楚如何退出这个功能大加赞赏的帮助。像往常一样,可能只是过度思考。
目前尝试可能的变通的类似$('body').namespace().method()
,迄今为止,没有工作这么好...:P
+1 - 我不认为这是可能的JavaScript。你应该在你的方法名称前加上前缀(例如'namespaceTest')。如果真正的命名空间对你来说如此重要,那么恐怕你不能使用jQuery的原型。 –
我可能会忽略你的观点,但是你只是在寻找'$ .fn.myMethod(/ * function code * /);'然后你就像'$(“div”)。myMethod()'那样调用? – Archer
@JosephSilber它是JavaScript!我确定有一种方法!毕竟,LoL是“最自由”的语言! – SpYk3HH