0

私は次のHTMLを持っています

<li onclick="setServerID(this);" class="server-item-item" data-server="1" onmousedown="serverHold(this);" onmouseup="serverRelease();"><span>MyServer</span></li>

私のJSは次のようになります:

function setServerID(server) {
    sessionStorage.serverID = server.dataset.server;
    getServerInfo();
    gotoMain();
}

function serverHold(server) {
    pressTimer = window.setTimeout(function() {
        var id = server.dataset.server;
        clearTimeout(pressTimer);
        $('#fav-the-server').css("visibility", "visible");
        a.slide('fav-the-server', "left", 0, "200ms", "ease", "0ms", "1", "alternate", "running");

    },1000);
    return false;
}

SOで調べた以前の投稿のおかげで、これはすべて素晴らしく機能しますが、問題は、タッチスクリーンタイプのアプリであり、onclick

とにかくこれを行うと、次の機能を取得できます。

リストアイテム -> 1000ミリ秒クリックアンドホールド -> 実行serverHoldし、実行しないsetServerID

リスト項目 -> クリックして長押ししない、または 1000ms 未満の長押し -> 実行setServerIDのみ。

ありがとう!

4

1 に答える 1

1

クリック中に長押しを処理したかどうかを示すフラグを保持するだけです: demo

于 2012-09-30T20:17:13.393 に答える