2012-04-27 6 views
2

私はtouchgapアプリケーションを持っています。ここでは、touch touch moveとprevent.default()を適用してwebviewのスクロールを無効にしています。Phonegap textareaスクロール

問題は、テキストがオーバーフローした場合にスクロールしたい2つのテキスト領域があることです。デフォルトの防止はこれを妨げます。

いくつかの回避策を試してみましたが、これまでのところ、タッチ移動イベントのxとyを検出し、テキスト領域外にある場合はデフォルトを防止するだけの機能がありました。

function preventBehavior(e) 
{ 
    console.log("event.targetTouches[0].pageX = " + event.targetTouches[0].pageX + " event.targetTouches[0].pageY = " + event.targetTouches[0].pageY); 

    var x = event.targetTouches[0].pageX; 
    var y = event.targetTouches[0].pageY; 

    //fix the scroll of textareas for iOS by avoiding prevent default in them 
    if (x > 20 && x < 300 && y > 80 && y < 230){ 
     //touch falls within first text area 
    }else if (x > 20 && x < 300 && y > 245 && y < 400){ 
     //touch falls within second text area 
    }else{ 
     e.preventDefault(); 
    } 
}; 
document.addEventListener("touchmove", preventBehavior, false); 

問題は、テキスト領域がスクロールする必要がない場合、ウェブアプリケーション全体をスクロールすることです。

誰にもこの問題の確定的な修正がありますか?

ありがとうございます。

答えて

1

iscroll.jsは、テキストフィールドのスクロールのみが必要な場合に使用できます。デスクトップのWebブラウザでも動作します。

関連する問題