我使用JQTouch和JQuery的基于phonegap的应用程序在iPhone,Android,Chrome上运行良好。但它在Blackberry 6.0上无法正常工作。我能够找到问题,问题在于jqtouch.js以下是达到该行的方法:
jqtouch.js > animatePages-function > callback-private function
在他们定义的私人回调函数中
location.hash = "#"+ id;
每当我的应用程序到达此行时,它会重新呈现整个HTML文件,因此应用程序将重新启动。我无法找到任何解决方案。有没有其他方法可以做到这一点?我试图放window.event.preventDefault()
但它会抛出错误。
先谢谢
答案 0 :(得分:1)
我在JQTouch中遇到类似的问题,我在设置位置时使用非真实哈希解决了这个问题。如果您的哈希值是实际ID,则页面跳转到该元素。只需在哈希的末尾添加“page”或其他内容,这样它就不会指向元素id:
location.hash = "#" + id + "page";
答案 1 :(得分:0)
我找到了问题的解决方案,我用{替换"location.hash"
history.pushState( {}, document.title, ("#"+id) );
无论jqtouch尝试将新值分配给location.hash
,它在Blackberry 6.0上运行良好