2017-07-17 3 views
0

シンプルな問題。クリックすると背景色が変わる単一のDIVがあります。ここではHTMLだ:コルドバ300ms遅延

<html lang="en"> 

<head> 
<meta name="viewport" content="width=device-width, height=device-height, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, initial-scale=1"> 
<script type="text/javascript" src="./js/code.js"></script> 
<link rel="stylesheet" href="./css/styles.css"> 
<title>xxx</title> 
</head> 

<body onload="fInitializeFramework()"> 
<div onclick="fx()" class="fx">touch me!</div> 
</body> 

</html> 

CSS:

html { 

    height: 100%; 

    -webkit-touch-callout: none;    /* Prevent callout to copy image, etc. when tap to hold */ 

    -webkit-text-size-adjust: none;    /* Prevent webkit from resizing text to fit */ 

    -webkit-tap-highlight-color: rgba(0,0,0,0); /* Prevent tap highlight color/shadow */ 

    -webkit-user-select: none;     /* No element selection */ 

    cursor: default;       /* Default cursor */ 

    touch-action: manipulation;     /* Disable double tap to zoom */ 

} 

.fx:active { 
    background: yellow; 
} 

とJavaScript:Chromeで

function fInitializeFramework() 
{ 
    document.addEventListener("deviceready",fRun); 
    return; 
} 

function fRun() 
{ 
    return; 
} 

function fx() 
{ 
    return; 
} 

デスクトップ上の、すべてが正常で、クリックイベントを高速に起動されます。しかし、一旦Cordova、タブレット、または電話でapkに変えられると、DIVとの接触とその背景色の変化の間に遅延があります。

これは悪名高い300msの遅延のようです。

  • 幅=装置幅と最小規模= 1.0、最大規模= 1.0
  • タッチアクションとビューポートメタ::などの操作、
しかし、私が推奨されるすべてのものを踏襲しました

私はfasclick.jsを使ってみましたが、結果はありませんでした。これはドキュメントで言われているようにクロム32+以降は役に立たないので正常です。

私は疑いがあります:アクティブなので、HTMLでonclickを使用する代わりにjavascriptでonclick()イベントを処理するバックグラウンドを変更しようとしました。同じ結果、タブレットでの遅延。

Androidは6.0です。コルドバ7.0.1。

答えて

0

タッチスクリーンのクリックの遅延は設計通りです。ドラッグ/スワイプ(タッチしながらタッチして移動)とクリック(同じ場所でタッチアンドホールド)を区別するためのものです。

私はこのゲームで遭遇しました。私の場合の救済策は、自分のコードをtouchstartにバインドすることでした。これははるかに迅速に登録します。

私のアプリのためのインターフェイスデザインは、ユーザーがクリックしたいと思うようなものです - ドラッグすると何も達成されません。さらに、コードはタッチスクリーンデバイス用にのみ設計されているので、クリックとタッチスタートの両方を処理することについて心配する必要はありませんでした。