阻止Titanium webview完全滚动?

时间:2012-11-29 15:00:12

标签: uiwebview titanium

我的Titanium / iOS应用程序中有一个带有HTML select元素的小型webview。当用户进行选择时,webview会滚动。如何阻止webview滚动?

var html = '<html>';
html += '<head>';
html += '<link rel="stylesheet" href="css/jquery.mobile-1.2.0.min.css"/>';
html += '<script src="lib/attributeForm.js"></script>';
html += '<script src="jq/jquery.min.js"></script>';
html += '<script src="jq/jquery.mobile-1.2.0.min.js"></script>';
html += '</head>';
html += '<body style="overflow: hidden">';
html += '<form style="margin:10px; min-height:500px;" id="attributeForm">'+win.attributeForm+'<br><br><br><br></form>';
html += '</body>';
html += '</html>';

var webview = createWebView({
    top: y,
    height: 250,
    html: html,
    disableBounce: true,
});

这是attributeForm.js:

function getAttributes() {
    return $('#attributeForm').serialize();
}

document.body.addEventListener('touchmove', function(e) {
    // This prevents native scrolling from happening.
    e.preventDefault();
}, false);

3 个答案:

答案 0 :(得分:2)

我能够通过Web视图中的JavaScript阻止touchmove事件来实现这一目标:

document.body.addEventListener('touchmove', function(e) {
    // This prevents native scrolling from happening.
    e.preventDefault();
}, false);

您可以在此处查看完整示例:https://gist.github.com/819929

答案 1 :(得分:2)

虽然稍晚一点,但应该是有效的谁将面临同样的问题。尝试.. webview 属性中的disableBounce : true

答案 2 :(得分:0)

解决方案可能在您的HTML而不是应用代码中......没有看到任何代码很难说,但您可以尝试在网页浏览HTML的overflow: hidden上设置<body>