jquery-ui – JQuery UI:如何使用命名空间调用widget函数

我创建了两个具有相同名称但具有不同命名空间的自定义 JQuery UI小部件,如下所示:
一个小部件:
$.widget('finance.dialog',{....}); // this was created in the file jquery.finance.dialog.js

第二个小部件:

$.widget('hr.dialog',{.....}); // this was created in the file jquery.hr.dialog.js

除了这两个,JQuery UI在命名空间ui中有自己的对话小部件(ui.dialog).

我的问题是:
当我在下面给出的网页中调用以下内容时,将调用哪个对话窗口小部件?

$('div#something').dialog();

请注意,我在网页中包含所有三个窗口小部件.

我明白上述情况有冲突.我们如何使用它的命名空间调用一个widget函数,这样就不会有任何冲突?

解决方法

我有同样的问题,但我不认为可以使用命名空间调用jquery ui小部件.

如果我从这个理解正确:http://bugs.jqueryui.com/ticket/7489
通过定义具有相同名称的小部件,设计可以覆盖早期的定义.因为无论命名空间如何,这些小部件的名称都映射到$.fn.

根据bug门票中的建议,您可以使用桥接功能创建一个独特的映射到特定的命名空间小部件,并使用唯一的名称调用它.

在你的情况下,可以这样:

$.widget.bridge( "finance_dialog",$.finance.dialog );
$.widget.bridge( "hr_dialog",$.hr.dialog );

// then call it with...
$( "div#something" ).hr_dialog();

我想另一种方法是首先创建唯一的窗口小部件名称.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...