2

单击超链接时,我会更改页面上 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?
});

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

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

4

1 回答 1

0

我会尝试的一种选择是替换liveon. 在这里解释。此外,由于 alert 是一个阻塞调用,请尝试使用 console.log。

于 2012-09-06T19:10:56.467 回答