Javascript 如何防止垂直阻力
我正在尝试创建一个包含拖动事件的表。我想防止垂直拖动;我怎样才能做到这一点 请查收。我试图一次只拖动一行,需要防止垂直拖动 请更新小提琴Javascript 如何防止垂直阻力,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建一个包含拖动事件的表。我想防止垂直拖动;我怎样才能做到这一点 请查收。我试图一次只拖动一行,需要防止垂直拖动 请更新小提琴 function rangeMouseMove(e) { if (isDragging) { var allCells = $("#table td"); dragEnd = allCells.index($(this)); selectRange(); } } 你会考虑像榔头一样的垃圾吗?JS?< /
function rangeMouseMove(e) {
if (isDragging) {
var allCells = $("#table td");
dragEnd = allCells.index($(this));
selectRange();
}
}
你会考虑像榔头一样的垃圾吗?JS?< /P> 关于你的问题,你可以有一个FIFO数组。将事件从左拖入,从右拖出。中只允许水平拖动事件
// pseudo code
var q = [];
$t.on('drag', function (e) {
if (e.direction === 'left' || e.direction === 'right') {
q.push(e.deltaX);
}
});
setTimeinterval(function () {
if (q.length) {
_apply(q.shift());
}
}, 100);
如果你想使用hammer.js..那么它将帮助你: 要在做手势时改善用户体验,应防止浏览器滚动。这可以通过ev.signature.preventDefault()方法完成。对于垂直滑动,应防止拖动,否则将不起作用(在大多数情况下…) 为了获得最佳的总体体验,您可以将preventDefault选项设置为true。这使Hammer能够完全控制给定元件上的触摸输入。但它会禁用所有默认浏览器操作 水平滑动并拖动:
var options = {
dragLockToAxis: true,
dragBlockHorizontal: true
};
var hammertime = new Hammer(element, options);
hammertime.on("dragleft dragright swipeleft swiperight", function(ev){ });
变换(挤压、旋转):
var options = {
preventDefault: true
};
var hammertime = new Hammer(element, options);
hammertime.on("transform", function(ev){ });
垂直滑动和拖动:
var options = {
preventDefault: true
};
var hammertime = new Hammer(element, options);
hammertime.on("transform", function(ev){ });
因为垂直移动在设备上非常棘手,人们想要滚动,你应该尽量避免这些。如果您确实需要它们,配置Hammer的最佳方法就是防止出现默认值
var options = {
preventDefault: true
};
var hammertime = new Hammer(element, options);
hammertime.on("dragup dragdown swipeup swipedown", function(ev){ });
一把锤子可以统治他们所有人希望它能帮上忙