javascript - 指定一个div区域不做js/jquery的功能

标签 javascript jquery html

现在我有一个网页功能,它在除 restrictArea 之外的任何地方都在窗口中触发。我让 restrictArea 与主要内容重叠。我怎样才能指定这个区域不触发功能呢?我尝试了 e.preventDefault(); 但它似乎不起作用。 谢谢

$(document).swipe(function(){
    ...............
};


$('#flip').swiperight(function(e){
 e.stopPropagation();
 e.preventDefault();
});

更新:所有相关代码:

CSS:

*
{
 -webkit-user-select: none;         /* disable auto selection (select/selectall when long tap)*/
 -webkit-touch-callout: none;       /* disable magnifier*/
}
#flip
{       
position:absolute;
background-color:red;
z-index:10;
height: 100%;
width:60%;
left:20%;
}

js:

    $(document).swipeleft(function(){
        //check the case when popup and thumbnail slide bar is not exist
        if ($("#popup").length == '0' && parseInt($('#all_pages').css('left')) != '0'){  
            if (checkOrientation (orientation)== 'landscape'){
                    var pageLand = $('#book').turn('view');
                    pageLand = pageLand[1];
                    if (pageLand + 1 < countImage && pageLand != '0')
                        $('#book').turn('page', pageLand + 1);
            }
            else{
                    var pagePort = $('#book').turn('page');
                    if (pagePort + 1 < countImage && pagePort != '0')
                        $('#book').turn('page', pagePort + 1);
            }
        }
    });

    $(document).swiperight(function(){
        //check the case when popup and thumbnail slide bar is not exist
        if ($("#popup").length == '0' && parseInt($('#all_pages').css('left')) != '0'){ 
            if (checkOrientation (orientation)== 'landscape'){
                    var pageLand = $('#book').turn('view');
                    pageLand = pageLand[0];
                    if (pageLand - 1 > 0)
                        $('#book').turn('page', pageLand - 1);
            }
            else{
                    var pagePort = $('#book').turn('page');
                    if (pagePort - 1 > 0)
                        $('#book').turn('page', pagePort - 1);
            }
        }
    });


    $('#flip').swiperight(function(e){
      alert ('test');
      e.stopPropagation();
      e.preventDefault();
    });

    $('#flip').swipeleft(function(e){
      alert ('test');
      e.stopPropagation();
      e.preventDefault();
    });

最佳答案

试试下面的代码。您需要停止事件从子节点冒泡到父文档。

$('#restrictArea').swipe(function(e){
  e.stopPropagation();
  e.preventDefault();
});

关于javascript - 指定一个div区域不做js/jquery的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966962/

相关文章:

javascript - 清除网站的存储持久性标志

JavaScript 运行时错误 : "object doesn' t support property or method"in Internet Explorer

javascript - 如何使用其类获得对自链接 anchor 标记的点击?

java - 谷歌应用程序引擎-Java : HTML Error 403: Configuration Solution Thread

php - HTML 编辑器可以通过标签折叠代码块并移动它们?

javascript - Bootstrap 4 Toggle Button 与本地 js 文件不工作

java - 如何同时调用onclick和a href

javascript - javascript回调函数在哪个线程执行?

javascript - 在 jQuery 中将鼠标悬停在子菜单上时无法保留子菜单

javascript - 如何在iframe中输出codemirror的结果?