我正在处理以下用于创建基于自定义鼠标的滑动事件的代码。
现在我想将$('.element')
作为值传递给' mousedown'当' o:刷卡'活动已启动,以便' mousedown'和' mousemove' event仅在我为滑动事件选择的元素上工作,而不在$('.element')
的任何子元素上工作。
目前,如果有任何孩子被安置在$('.element')
内,那么,' mousedown' event将其作为目标及其pageX位置(如果单击它),但我想要$('.element')
相同,因此我需要传递一个值来自' o:swipe'事件发生在' mousedown'事件
目前,当点击任何$('.element')
的孩子时,它会在移动时加注。
以下是jsbin
$(function(){
var te = {};
$('body').on('mousedown', function(e) {
var ti = e;
te.target = $(ti.target);
te.bX = ti.pageX;
te.lastX = te.target.position().left;
}).on('mousemove', function(e) {
te.eX = e.pageX;
te.position = te.lastX + ( -1 * (te.bX - te.eX));
te.target.trigger('o:swipe',{ pos : te.position });
}).on('mouseup', function(e) { te = {}; });
// ============ SWIPE EVENT SECTION ================
$('.element').on('o:swipe', function(e, to) {
$(e.target).closest($(this)).css( 'left' , to.pos + 'px');
});
});