[英]Know who fired the event “focusout”
我在代码中使用了focusout
,因此我需要知道单击了哪个元素以触发focusout
因为如果特定元素负责触发focusout
则需要执行特定功能
我尝试使用stopPropagation
但没有用
$('#buscar_menu .select2-search__field').focusout(function(e){
e.stopPropagation();
/*if(e.target.classList[0] == "search_field"){
console.log("eureca");
}else{
console.log("not eureca");
}*/
});
使用jQuery
您可以使用自定义属性名称添加data属性,例如data-responsible-element
; 可以使用jQuery's
data()
方法来检索此内容,以检索失去焦点的元素。
简而言之:在元素中设置data-{custom-property}="{some-value}"
,并在触发事件后,使用data()
方法从data-{custom-property}
检索{some-value}
。
使用此方法,您可以将{some-value}
设置为该元素的unique identifier
,这将使您能够query
该元素。
$('.focusable').focusout(function(e){ e.stopPropagation(); var element_that_lost_focus = $(this).data('responsible-element'); console.log(element_that_lost_focus + ' just lost focus!? D:'); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="focusable" placeholder="Juan" data-responsible-element="Juan" /> <input class="focusable" placeholder="Carlos" data-responsible-element="Carlos" /> <input class="focusable" placeholder="Martín" data-responsible-element="Martín" /> <input class="focusable" placeholder="John Doe" data-responsible-element="John Doe" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.