覆盖 jQueryUI 对话框默认选项
我希望能够创建模式对话框,例如使用
close: function() {
$(this).remove();
}
默认选项,而不需要在对话框创建时指定那些参数,但以某种方式在一处覆盖这些参数。
这可能吗?
I want to be able to create modal dialogs, with, for example
close: function() {
$(this).remove();
}
default option, without need to specify those on dialog creation, but somehow override those parameters on one place.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
jQuery UI 中的对话框和其他小部件使用其默认值定义哈希。您可以在加载 jQuery UI 后覆盖它们。
在 javascript 中搜索设置默认值的行:
例如,在 javascript 中,您可以使用以下命令关闭 autoOpen:
或者您可以合并选项的哈希值:
Dialog and other widgets in jQuery UI define a hash with their default values. You can override these after jQuery UI has been loaded.
Search through the javascript for the line where the defaults are set:
As an example, in your javascript, you can turn autoOpen off with:
Or you can merge a hash of options:
我也需要覆盖默认选项,并花了我一段时间才弄清楚 jQuery UI 1.8:
上面的代码将允许您将任何内容放在对话框选项之上。上述方法应该适用于大多数 UI 组件(它还可以让您对现有功能或添加的功能进行原型设计)。
I, too, needed to override default options and took me a while to figure out for jQuery UI 1.8:
The above code will allow you to drop anything on top of the dialog options. The above method should work for most UI components (it will also let you prototype over the functions that exist, or add to).
然后您应该创建一个调用 jQuery 对话框函数的抽象。
基本上,不要在您想要使用 jQuery 对话框的每个地方创建选项文字,而是创建一个函数来创建您想要的选项,然后从中调用 jQuery 对话框函数。
然后,在代码的所有区域中,调用您编写的封装代码的函数。
此过程称为封装,适用于大多数(如果不是全部)软件开发语言。主要好处之一是它使您的代码更易于维护。
You should create an abstration that calls the jQuery dialog function then.
Basically, instead of creating the options literal everyplace you want to use the jQuery dialog, create a function which creates the options that you want and then call the jQuery dialog function from that.
Then, in all areas of your code, call the function you wrote that encapsulated the code.
This process is known as encapsulation and applies to most (if not all) software development languages. One of the major benefits is that it makes your code easier to maintain.