Javascript jQuery从html和正文选择器中排除div

Javascript jQuery从html和正文选择器中排除div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,HTML 如何从“html,body”选择器中排除div1及其所有内容/子项 我试过了 jQuery'html,body:notdiv1' 而且 jQuery'html,body'。不是document.getElementById div1 谢谢 您可以执行以下操作: jQuery('html, body').on('touchstart touchmove', function(e){ e.preventDefault(); var $target = $(e.target);

HTML

如何从“html,body”选择器中排除div1及其所有内容/子项

我试过了

jQuery'html,body:notdiv1'

而且

jQuery'html,body'。不是document.getElementById div1


谢谢

您可以执行以下操作:

jQuery('html, body').on('touchstart touchmove', function(e){ 
   e.preventDefault();
   var $target = $(e.target);
   var id = $target.attr('id');
   if(id != 'div1') {
     // not div 1
   }
});
$('body').on('touchstart touchmove', ':not(#div1)', function(e) {
  e.preventDefault();
});

您需要先选择html、body的子项,然后才能使用进行筛选。不是:

$('html, body').children().not($('#div1'))
试一试

可以使用来防止事件在DOM树中冒泡:

jQuery('html, body').on('touchstart touchmove', function(e){ 
       e.preventDefault(); 
});

jQuery('#div1').on('touchstart touchmove', function(e){ 
       e.stopPropagation(); 
});

我认为您正在尝试执行一个函数,如果它不是div1,那么该函数已经存在,我只是尝试从该函数中排除div1可能不起作用,因为像click event-Good问题这样的冒泡。请看邮报。谢谢
$('html, body').children().not($('#div1'))
$('body').on('touchstart touchmove', function (e) {
    if ($(e.target).closest('#div1').length == 0) {
        e.preventDefault();
    }
});
jQuery('html, body').on('touchstart touchmove', function(e){ 
       e.preventDefault(); 
});

jQuery('#div1').on('touchstart touchmove', function(e){ 
       e.stopPropagation(); 
});