0

我的 Titanium/iOS 应用程序中有一个带有 HTML 选择元素的小型 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);
4

3 回答 3

2

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

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

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

于 2012-11-29T16:44:38.560 回答
2

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

于 2014-07-16T06:07:49.213 回答
0

解决方案可能在您的 HTML 中,而不是在应用程序代码中……没有看到任何很难说的代码,但您可以尝试overflow: hidden<body>webview HTML 上进行设置。

于 2012-11-29T16:36:10.717 回答