0

私の Titanium/iOS アプリには、HTML select 要素を含む小さな Web ビューがあります。ユーザーが選択すると、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

少し後ですが、同じ問題に直面する人は効果的であるはずです. 試してみてください.. webviewプロパティdisableBounce : true内で。

于 2014-07-16T06:07:49.213 に答える
0

解決策は、おそらくアプリ コードではなく HTML にあります...言うのが難しいコードは表示されませんが、webview HTML の設定overflow: hiddenを試すことができます。<body>

于 2012-11-29T16:36:10.717 に答える