javascript - 找到导致输入模糊的元素的 id

标签 javascript jquery html

我需要找到导致文本输入模糊的单击元素并将其存储为变量。如何确定被单击导致输入“文本框”失去焦点的元素的 ID?我不知道我是否以正确的方式处理这个问题,但下面的代码是我目前所拥有的。我尝试了 document.activeElement,但它只对输入起作用,对 li 和 anchor 标记等元素不起作用谢谢

JavaScript:

var elClicked;

$('textBox').blur(function(){
  elClicked = // what is the id of the element that caused blur?
  alert(elClicked);
});

html:

 <input type = "text" id = "textBox">

 <!-- example elements --> 

  <input type = button id = "element1" />
  <a href = "#" id = "element2">text</a>
  <ul><li id = "element3">list</li></ul>

最佳答案

通过访问目标的 id 属性。

$('textBox').blur(function(){
  var target = event.explicitOriginalTarget || document.activeElement;
  elClicked = target ;
  alert(elClicked);
});

或者,您可以按照这些思路尝试一种方法

var elClicked;

$(document).mousedown(function(e) {
    elClicked = $(e.target);
});

$('textBox').blur(function(){
  alert(elClicked);
});

关于javascript - 找到导致输入模糊的元素的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120303/

相关文章:

html - 带有长单词的 CSS 居中文本

javascript - Jquery val() 不带回文本框的值

javascript - JQuery:向所有 child 添加点击事件,不起作用

jquery - 当我使用 Tab 键时水平滚动问题

html - 当页面 View 宽度为 737 w/bootstrap 时,div 下降

PHP、MySQL 结果中出现 HTML 错误

javascript - 为什么正则表达式不匹配?

javascript - 如何从点击事件目标中获取样式?

javascript - jQuery 函数(将一些文本附加到文本区域)

jquery - 在页脚之前固定固定边栏停止