无法获取使用 event.target.id 触发事件的输入 ID

unable to get the input id that triggered the event using event.target.id

本文关键字:事件 ID 输入 id target 获取 event      更新时间:2023-09-26

我这里有这段代码来获取点击的输入元素的 id:

jQuery(event.target.id).change(function(){
if(event.target.id===null)
    {
    }
else
    {   
    alert(event.target.id);
    }
});

例如:我有一个动态生成的文本框。使用上面的代码单击它后,它会返回 id。

但是,当我单击下拉列表输入时,它返回 null,但在检查元素时,id 就在那里。它仍然转到 else 块。

我将此事件用于动态生成的字段。

可能出了什么问题?

对不起,如果看起来菜鸟,我是jQuery的新手。

在选择元素上,您需要侦听更改事件,而不是单击事件:

$('select').change(function() {
  var selectId = $(this).attr('id');
  var optionId = $(this).find(":selected").attr('id');
  alert('select id:' + selectId);
  alert('option id: ' + optionId);
});

更新通常在选择元素中,您将查找选项值。这是您将如何做到这一点:

$('#selectId').change(function() {
  var optionValue = $(this).find(":selected").val()
  alert(optionValue);
});

尝试访问原始目标

 var originalElement = event.srcElement || event.originalTarget;
 console.log(originalElement.id)