【问题标题】:Can't seem to change CSS for elements using JQuery / jQuery mobile on Tablet似乎无法在平板电脑上使用 JQuery / jQuery mobile 更改元素的 CSS
【发布时间】:2012-09-06 16:06:07
【问题描述】:

单击超链接时,我会更改页面上 DIV 的 leftscrollLeft() 值。在我的笔记本电脑(Windows:Firefox、Chrome、Opera、IE)上测试时一切正常,但在转移到平板电脑(Xoom2)时没有任何效果......例如,考虑以下......

$('#clickme').live("tap", function(event){
    alert($("#entry_level_phones").scrollLeft()) // the alert outputs a value which is a number so the .scrollLeft() is captured
    $("#entry_level_phones").scrollLeft(500) // nothing happens? This is ignored?
});

在这个例子中,我可以保证 #clickme 是一个 href 和 #entry_level_phones 这是一个 div 存在。

如果我尝试使用好的旧 JavaScript 来做同样的事情......我会得到相同的结果

$('#clickme').live("tap", function(event){
    alert($("#entry_level_phones").scrollLeft()) // the alert outputs a value which is a number
    document.getElementById("entry_level_phones").style.left = 500 + "px" // nothing happends? This is ignored?
});

即使我尝试更改诸如$("#entry_level_phones") 的 CSS 之类的微不足道的东西,但我可以发出警报、确认或使用窗口对象。有人可以解释为什么吗?

我的项目使用 jQuery、jQuery UI 和 jQuery Mobile。我是否需要刷新页面才能使用$.mobile.changePage更改css

【问题讨论】:

  • $("#entry_level_phones") 可见吗? “如果它所应用的元素被隐藏,则将不起作用。” api.jquery.com/scrollLeft

标签: jquery jquery-ui jquery-mobile


【解决方案1】:

我会尝试的一个选项是将live 替换为on。解释here。 另外,由于 alert 是一个阻塞调用,请尝试使用 console.log。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 2012-02-10
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多