簡體   English   中英

知道誰觸發了事件“聚焦”

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM