Ben*_*enM 13 javascript jquery
我知道我可以使用$.fn.myFunction构造函数创建自定义jQuery插件,并在JavaScript中调用自定义函数$('selector').myFunction().
但是,对于我目前正在进行的项目,我需要能够定义一个不需要选择器工作的函数.这实际上是一个MessageBox插件,它将以类似于C#MessageBox类的方式运行.因此,我最好将函数创建为MessageBox,然后按如下方式调用它:
var myMessage = $.MessageBox(); 然后依次 myMessage.Show();
注意在函数调用开始时jQuery引用中缺少选择器bracket.
我们将非常感激地就此最佳做法提出任何建议.
Ama*_*dan 14
这应该工作:
jQuery.MessageBox = function() {
var show = function() {
// something...
}
var hide = function() {
// something...
}
return {
show: show,
hide: hide
}
}
Run Code Online (Sandbox Code Playgroud)
relipse有一个好点 - 因为你混淆了主命名空间.如果你有更多的对象而不仅仅是一个解决方案.MessageBox是这样创建自己的命名空间:
jQuery.myLib = {
MessageBox: function() {
var show = function() {
// something...
}
var hide = function() {
// something...
}
return {
show: show,
hide: hide
}
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着您只在主命名空间中占一个位置(在这种情况下,您的库的名称myLib).你这样称呼它:
jQuery.myLib.MessageBox.show()
Run Code Online (Sandbox Code Playgroud)