例如,如果您尝试拨打
$(element).checkboxradio('refresh');
在一个尚未被jQuery Mobile增强的复选框上,它引发了一个异常,说你不能在未初始化的元素上调用'refresh'。
jQuery Mobile要求您在非增强元素上调用'create'并在增强元素上调用'refresh',但不提供检查元素是否已增强的文档化方法。
那么,有没有办法检测它,除了捕获异常?
答案 0 :(得分:1)
查看引发异常的JQM代码,我看到JQM通过检查某个对象的$(element).data(“mobile-checkboxradio”)来内部确定状态。如果它不存在,则会引发异常。
所以这似乎工作得很好:
if ($(element).data("mobile-checkboxradio"))
$(element).checkboxradio('refresh');