2017-05-30 103 views
3

我需要触发点击的HTML页面,除了一个div.but div是在页面加载后动态创建的。我尝试了下面的代码。点击html元素除了动态创建的元素?

$('html').click(function(e) { 

    if(!$(e.target).hasClass('flyoutdiv')){ 

    } 

}); 

它仅适用于未动态创建的元素。 “flyoutdiv”是在页面加载后动态创建的。我需要在整个页面中触发点击,除了那个元素。有没有解决方案?

+0

创建flyoutdiv后,将事件侦听器绑定到他。创建div后添加[code] $('。flyoutdiv')。click(function(){// your code here}); – Djuro

回答

2

您需要附加点击事件flyoutdiv DIV像以下。

$(".flyoutdiv").on('click',function(e){e.stopPropagation();}) 

要处理动态flyoutdiv您可以使用如下代码。

$("body").on('click',".flyoutdiv",function(e){e.stopPropagation();})

2

对于动态创建的元素,您需要使用方法on

$('html').on('click', function(e) { 
 

 
    if (!$(e.target).hasClass('flyoutdiv')) { 
 

 
    } 
 

 
});

+0

它正在工作,谢谢 –

1

创建flyoutdiv后,事件监听器绑定到他。创建div后添加$('.flyoutdiv').click(function(){//your code here});

这比在每次点击中搜索目标好得多。