スクロール可能なdivがあります。「長押し」でリストをスクロールしたり、ボタンをクリックして選択したりできるようにしたいと考えています。
問題は、div をスクロールするためにボタンを押したままにすると、クリック機能がトリガーされることです。
スクロール時にトリガーしないようにしたい。ホールド機能のクリックを区別する方法が必要です。
だから私は使用しています:
$('.panel').bind("touchstart mousedown", function (e) {
console.log(e.type);
$(this).addClass('resize');
}).bind("touchmove mousemove", function (e) {
$(this).removeClass('resize');
}).bind("touchend mouseup", function (e) {
$(this).removeClass('resize');
$('.panel').addClass('flip');
});
私は次の解決策を考えました。
'.panel'
がmousedown
以上の場合、500 ms
ボタンがアクティブになり、押されます:
$(this).addClass('resize');
'.panel'
がの場合mouseup
、ボタンは通常の状態に戻り、すべてのボタンが出力の動きをします。
$(this).removeClass('resize');
$('.panel').addClass('flip');
しかし、ユーザーの場合mousemove
、mousedown
およびmouseup
アクションはキャンセルされます。
これを実践する方法がわからない
それに似たものです: http://m.microsoft.com/windowsphone/en-us/demo/default.aspx
提案してください。