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

前端之家收集整理的这篇文章主要介绍了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();

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

原文链接:https://www.f2er.com/jquery/179874.html

猜你在找的jQuery相关文章