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语句?您可以尝试在中查找接收到焦点的元素,但这些事件发生的顺序并不完全清楚。此外,您还可以在不实际让任何其他元素接收聚焦的情况下导致聚焦输出
(例如,在浏览器窗口外单击)。