我有这样的代码:为什么点击事件被touchstart事件抑制?
$('.selector').on({
touchstart: function (e) {
e.preventDefault();
alert(3);
e.stopPropagation();
},
tap: function (e) {
e.preventDefault();
alert(4);
e.stopPropagation();
}
});
只有touchstart被触发。有人可以解释为什么吗?
P.S. :这是我包括jQuery Mobile的脚本: <script src="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.js"></script>
编辑: 我想在我的DIV的一个介绍一个悬停功能,我认为用自来水事件就会像单击并像悬停touchstart 。
$('.selector').on('tap swipe', function (e) {
e.preventDefault();
if(e.type == 'swipe') {
alert(1);
}
if(e.type == 'tap') {
alert(2);
}
e.stopPropagation();
});
$('.selector .sel1').on('tap swipe', function (e) {
e.preventDefault();
if(e.type == 'swipe') {
alert(3);
}
if(e.type == 'tap') {
alert(4);
}
e.stopPropagation();
});
有了这个代码在我的div轻扫事件工作正常,但对于内部元件我无法重现刷卡事件,仅自来水被触发。我真的不明白为什么。
即使我点击我的div,第一个触发的事件是touchstart,所以只会显示警报3。我想分开touchstart和tap的行为。 – 2014-10-06 09:32:59