Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “知道是谁发起了这次活动”;“聚焦输出”;_Javascript_Jquery - Fatal编程技术网

Javascript “知道是谁发起了这次活动”;“聚焦输出”;

Javascript “知道是谁发起了这次活动”;“聚焦输出”;,javascript,jquery,Javascript,Jquery,我在代码中使用了focusout,我需要知道单击哪个元素触发了focusout,因为如果某个特定元素负责触发focusout 我试图使用停止播放,但它不起作用 $('#buscar_menu .select2-search__field').focusout(function(e){ e.stopPropagation(); /*if(e.target.classList[0] == "search_field"){ console.log("eureca")

我在代码中使用了
focusout
,我需要知道单击哪个元素触发了
focusout
,因为如果某个特定元素负责触发
focusout

我试图使用
停止播放
,但它不起作用

  $('#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
可以添加具有自定义属性名称的数据属性,如
数据责任元素
;可以使用
jQuery的
data()
方法检索丢失焦点的元素

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

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

$('.focusable').focusout(函数(e){
e、 停止传播();
var元素失去焦点=$(this.data('responsible-element');
log(元素“失去焦点”+“刚刚失去焦点!?D:”);
});

使用
jQuery
可以添加具有自定义属性名称的数据属性,如
数据责任元素
;可以使用
jQuery的
data()
方法检索丢失焦点的元素

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

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

$('.focusable').focusout(函数(e){
e、 停止传播();
var元素失去焦点=$(this.data('responsible-element');
log(元素“失去焦点”+“刚刚失去焦点!?D:”);
});


我认为你需要重新思考你想做什么。与单击某项内容相比,您可能会以多种方式从元素中失去焦点。问题是focusout实际上不是一个可以取消的事件。为什么不使用
单击事件处理程序并在其中包含if语句?您可以尝试在
中查找接收到焦点的元素,但这些事件发生的顺序并不完全清楚。此外,您还可以在没有任何其他元素接收到
聚焦的情况下导致
focusout
(例如,在浏览器窗口外单击)。我认为您需要重新考虑您正在尝试的操作。与单击某项内容相比,您可能会以多种方式从元素中失去焦点。问题是focusout实际上不是一个可以取消的事件。为什么不使用
单击事件处理程序并在其中包含if语句?您可以尝试在
中查找接收到焦点的元素,但这些事件发生的顺序并不完全清楚。此外,您还可以在不实际让任何其他元素接收
聚焦的情况下导致
聚焦输出
(例如,在浏览器窗口外单击)。