javascript - 更改 jquery mobile 页面 init 上的元素

标签 javascript jquery html jquery-mobile slider

我尝试更改页面初始化上的 slider 属性:

$(document).delegate('#my-page','pageinit', InitMyPage());

function InitMyPage() {
    var today = new Date();
    $("#my-slider").prop({
        min: 1,
        max: 50
    }).slider("refresh");
} 

页面 init $("#my-slider") 看起来仍然未知。

当我尝试在控制台上获取它时,它看起来像这样:

$("#year-slider")
[]

我收到错误:

Uncaught TypeError: undefined is not a function

我什么时候可以更改元素(哪个事件)?

最佳答案

这段代码:

$(document).delegate('#my-page','pageinit', InitMyPage());

调用 InitMyPage 并将其返回值传递给 delegate,与 foo(bar ()) 调用 bar 并将其返回值传递给 foo

要将函数传递给 delegate,请删除其后面的 ():

$(document).delegate('#my-page','pageinit', InitMyPage);
// No () here ----------------------------------------^

And I get error:

Uncaught TypeError: undefined is not a function

When can I change the elements (which event)?

这是因为 InitMyPage 没有返回任何内容,因此调用它的结果是 undefined,该结果被传递给 delegate。稍后当事件发生时,显然 jQuery Mobile 会尝试调用 undefined (这不是一个函数,会导致错误)。我有点惊讶 jQuery Mobile 没有注意到这一点,也没有尝试调用它,但是...:-) 修复其他问题就可以解决这个问题。

关于javascript - 更改 jquery mobile 页面 init 上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23988922/

相关文章:

javascript - AngularJS - 无法使用工厂调用http服务

javascript - 在图像加载时将图像从零放大到完整尺寸

javascript - 使用 jQuery 提交值

javascript jquery 显示/隐藏列

javascript - HTML5 Canvas 色调旋转改变饱和度和亮度

javascript - 路线正在下载页面而不是显示它

javascript - mvc3 razor - url.action javascript 错误 onClick 事件

javascript - 如何让 javascript/html5 按钮返回上一页? (浏览器/PhoneGap)

javascript - 在 ng 风格中使用多个三元组

javascript - 使用 API V3 的主要谷歌地图故障