[英]event.stopPropagation() is not worknig?
I have implemented click event on window and on specific element.我已经在 window 和特定元素上实现了点击事件。 I want to stop window click event propagation on particular element click as mentioned below but it is not working.
我想停止 window 单击特定元素的事件传播,如下所述,但它不起作用。 I am not sure what wrong I am doing here.
我不确定我在这里做错了什么。
$('.dropdown-container').click(function(event){
event.stopPropagation()
var selectElement = '.dropdown-container > select';
if($(selectElement).hasClass('actionDD')){
$(selectElement+'.actionDD').toggleClass('special');
}
else if($(selectElement).hasClass('countryDD')) {
$(selectElement+'.countryDD').toggleClass('special');
}
$('.fa-chevron-down.importC, .fa-chevron-down.exportC ').removeClass('special');
});
$(window).click(function(event){
console.log('window event clicked');
$('.dropdown-container, .fa-chevron-down.importC, .fa-chevron-down.exportC').removeClass('special');
});
Apart from the typos, if your selects are not nested just do this除了拼写错误,如果您的选择没有嵌套,请执行此操作
$('.dropdown-container').on("click", "select", function(e){
e.stopPropagation()
if($(this).is('.actionDD') || $(this).is('.countryDD')) {
$(this).toggleClass('special');
}
$('.fa-chevron-down.importC, .fa-chevron-down.exportC ').removeClass('special');
});
$(window).on("click", function(e){
console.log('window event clicked');
$('.dropdown-container, .fa-chevron-down.importC, .fa-chevron-down.exportC').removeClass('special');
});
Please post your HTML since this works:请发布您的 HTML 因为这个有效:
$('.dropdown-container').on("click", "select", function(e) { e.stopPropagation() if ($(this).is('.actionDD') || $(this).is('.countryDD')) { $(this).toggleClass('special'); } }); $(window).on("click", function(e) { console.log('window event clicked'); });
.special { background-color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="dropdown-container"> <select class="actionDD"> <option>Click</option> </select> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.