gpt4 book ai didi

javascript - 知道是谁引发了事件 "focusout"

转载 作者:行者123 更新时间:2023-12-02 23:36:43 26 4
gpt4 key购买 nike

我在代码中使用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-responsible-element;可以使用 jQuery 的 data() 方法来检索失去焦点的元素。

简而言之:在元素中设置 data-{custom-property}="{some-value}",并在触发事件后从 检索 {some-value} data-{custom-property} 使用 data() 方法。

使用此方法,您可以将 {some-value} 设置为元素的唯一标识符,这将使您能够查询元素。

$('.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" />

关于javascript - 知道是谁引发了事件 "focusout",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56263670/

26 4 0
文章推荐: javascript - 有什么方法可以在纯Javascript中仅循环更新
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com