0

私はWebアプリを構築し、タッチ対応にしようとしています。

スクロールする必要のあるリストがあります(現在iScrollを使用しています)

リスト内の項目をクリックできます。

リスト内のアイテムはドラッグできます(私は期待しています)。

次のコードを使用して、スクロール時のクリックを無効にしています

var myScrollingList = new iScroll('list_scrolling',
    {
        onScrollMove: function () {
            $('a').bind('click', function (e) { e.preventDefault(); });
        },
        onScrollEnd: function () {
            $('a').unbind('click');
        }
    });

次のコード(jQuery longclickを使用)を使用して、クリックとロングクリックの違いを示し、ロングクリックでドラッグをトリガーできるようにします

$('a.item').click(500, function (ev) {
    console.log('long-click');
    ev.target.draggable({
        helper: function () {
            return jQuery(this).clone().appendTo('body').css('zIndex', 500);
        }
    });
    return false;
});

$('a.item').click(function () {
    console.log('short click');
    return false;
});

すばらしいニュースは、「ロングクリック」をトリガーせずにスクロールできることです。

問題は2つあります

1)通常のクリックはスクロールの最後にトリガーされますが、「ショートクリック」ではトリガーされないため、トリガーされるのは通常の非JavaScriptクリックイベントです。

2)ev.target.draggableがターゲットをドラッグしていません。そのターゲットをドラッグ可能な要素に作成する方法はありますか?または、要素のクローンを作成してから、クローンをドラッグ可能として設定する方がよいでしょうか。または他の提案。

4

0 に答える 0