2017-02-07 3 views
12

私はFramework7 sortable listを使用しています。それはうまくいきます。リストが変更されたときにイベントを発生させないということだけです。受動的なイベントリスナー内でデフォルトを無効にすることはできません

だから私は、ビルトイン・イベント数をしようとしている:

$('.sortable-handler').on('touchstart', function (e) { 
    e.preventDefault(); 
    alert('touchstart'); 
}); 

$('.sortable-handler').on('touchmove', function (e) { 
    e.preventDefault(); 
    console.log('touchmove'); 
}); 

$('.sortable-handler').on('touchcancel', function (e) { 
    e.preventDefault(); 
    console.log('touchcancel'); 
}); 

$('.sortable-handler').mouseleave(function (e) { 
    e.preventDefault(); 
    console.log('mouseleave'); 
}); 

..しかし、私が得るすべては次のとおりです。

治療される対象に起因する受動的なイベントリスナーの内部でpreventDefaultにできません

受動的なものとして。 https://www.chromestatus.com/features/5093566007214080

最新のリストを取得するには、どのようなイベントが必要ですか?

答えて

1

ユーザーのリリースは現在、新しい位置にある要素をソートするときFramework7でソート可能なリストを処理するために、あなたはこのコードを使用することができます:

$$('li').on('sortable:sort',function(event){ 
    alert("From " + event.detail.startIndex + " to " + event.detail.newIndex); 
    }); 

フィドル:https://jsfiddle.net/0zf5w4y7/

+0

ああ、どのようにイベントについて知りましたか?そのドキュメントには記載されていません。 – 3zzy

+0

彼らは持っています。彼らはページの一番下にそれを言いました。ドキュメントhttps://framework7.io/docs/sortable-list.html#sortable-events –

16

このblog postを参照してください。 touchstartpreventDefaultと電話する場合は、タッチスクロールを無効にするCSSルールを設定する必要があります。.sortable-handler { touch-action: none; }

+0

Perfect、thxを参照してください。それはまさに私が探していたものです。 –

+0

@Rick Byers、 'wheelmousewheel DOMMouseScroll'に' preventDefault() 'を追加するにはどうすればいいですか? – Syed

+0

@Rick Beyersあなたは例を挙げることができますか?私はjquery mobile 'swipe'イベントで同じ問題を抱えています – tonkihonks13

関連する問題