禁用特定div上的滑动
有了这个jQuery Mobile 1.9.1代码,用户在向右或向左滑动时显示侧面板…
$(document).on("pageinit",".ui-page",function(){ var $page=$(this); $page.on("swipeleft swiperight",function(e){ if($page.jqmData("panel")!=="open"){ if(e.type==="swiperight"){ $page.find("#menu").panel("open"); }else if(e.type==="swipeleft"){ $page.find("#menu2").panel("open"); } } }); });
使用具有滑动function的图像滑块时,这会产生问题。 当我向右滑动时,滑块div内部会切换到下一张照片并打开面板…
我只是尝试这样做:
$('#full-width-slider').swipe(function(e){ e.stopPropagation(); e.preventDefault(); });
但它根本不起作用。
有没有办法在div#full-width-slider中禁用jQuery Mobile原生幻灯片function?
提前致谢。
.on('swipeleft swiperight', function(e){
而不是
.swipe(function(e){
虽然我对这个答案没有100%的自信,但是感觉试验表明代码仍然存在问题,你可能需要对原始元素进行健全性检查,例如,
if($.inArray('full-width-slider', $.trim($(e.target).prop('id')).split(' ')) > -1){ //full with slider is the target, so return out }
我想你正在寻找这个:
event.stopImmediatePropagation();
这应该可以阻止滑动冒泡。
你的代码
$('#full-width-slider').swipe(function(e){ e.stopImmediatePropagation(); e.preventDefault(); });