jQueryUI 1.9:如何检查widget初始化(初始化前无法调用方法)

时间:2012-11-28 01:13:21

标签: javascript jquery-ui

我目前正在将一些代码从1.8迁移到1.9.2,并且我面临的情况是小部件在被初始化之前被销毁。例如,现在1.9.2中可能出现以下错误(抛出异常):有什么方法可以检查调用是否可能:

$div.buttonset("destroy")

2 个答案:

答案 0 :(得分:3)

您可以使用$ element.data(“widget-name”)检查小部件的存在,然后调用您想要的内容。

小部件的正确名称是namespace + dash + plugin name。例如:ui-tabs,ui-dialog等。

在我的项目中,我有一个全名为mediaITPro.player的小部件。传递给数据通话的正确名称是“mediaITPro-player”。

以下代码为我完成了这项工作:

if (p.data("mediaITPro-player")) p.player("destroy");

我希望这会有所帮助。

P.S。关于.data调用的命名约定的文档 http://jqueryui.com/upgrade-guide/1.9/#changed-naming-convention-for-data-keys

答案 1 :(得分:1)

至少对于对话框小部件,您可以使用div.is(":ui-dialog")。请注意,使用JQuery UI 1.10.1时,旧的if (div.data("dialog"))不起作用(至少对我而言)。

相关问题