我正在创建一个 JQuery Mobile Web 应用程序,在一个页面上我有 javascript,它获取存储在 HTML5 本地存储中的值并使用它们的值更新页面上的 Web 控件。Web 控件之一是滑块控件。
每次访问页面时,我都需要执行 javascript,以便从本地存储中正确更新控件。我发现在每个页面上触发的唯一适用的 JQuery 事件是 pageshow 和 pagebeforshow 事件,因此我尝试绑定代码以在这些事件期间执行。示例如下:
var onPageShow = function () {
// Restore setting values from device browser local storage
if (localStorage.getItem("mmb_AutoLogin")) {
$('#AutoLogin').val(localStorage.getItem("mmb_AutoLogin").toLowerCase());
$('#AutoLogin').slider('refresh');
}
};
$(document).delegate('#maxsettings', 'pageshow', onPageShow);
问题是尝试引用滑块时出现错误:0x800a01b6 - JavaScript 运行时错误:对象不支持属性或方法“滑块”
在更改默认值后,我需要刷新滑块 Web 控件,否则它不会在视觉上发生变化。
这就是问题所在。每次页面加载和更新滑块 Web 控件时如何运行脚本而不会出现错误?我觉得我必须越过障碍才能让 jQuery Mobile 处理本应如此简单的事情。