1

例如,如果您尝试调用

$(element).checkboxradio('refresh');

在 jQuery Mobile 尚未增强的复选框上,它会引发一个异常,指出您不能对未初始化的元素调用“刷新”。

jQuery Mobile 要求您对非增强元素调用“创建”并在增强元素上调用“刷新”,但不提供检查元素是否增强的文档化方法。

那么,除了捕获异常之外,有没有办法检测到它?

4

1 回答 1

1

查看引发异常的 JQM 代码,我看到 JQM 通过检查某个对象的 $(element).data("mobile-checkboxradio") 在内部确定状态。如果它不存在,那么它会引发异常。

所以这似乎工作得很好:

if ($(element).data("mobile-checkboxradio"))
    $(element).checkboxradio('refresh');
于 2013-10-31T12:55:34.550 回答