[英]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.