繁体   English   中英

单击除动态创建的元素之外的html元素?

[英]click on html element except a dynamically created elements?

我需要触发除了div之外的html页面中的click。但是div是在页面加载后动态创建的。我尝试过以下代码。

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

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

    }

}); 

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

您需要使用方法on的元素动态创建。

 $('html').on('click', function(e) { if (!$(e.target).hasClass('flyoutdiv')) { } }); 

您需要将click事件附加到flyoutdiv div,如下所示。

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

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

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

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

它比在每次点击时搜索目标要好得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM