如果它是动态的,如何使用 Jquery 获取活动元素类



当我试图在javascript (document.activeElement.tagName)中获得活动元素时,它一直返回BODY。输入元素是用jquery创建的。

情况如下:在页面加载时,我通过jquery创建了一个输入框。(标准类,动态id)

点击按钮上的

,我想测试输入框是否被选中

Thanks for the help

document.activeElement返回当前聚焦的元素。当没有焦点元素时,活动元素是页面的body

当您单击button时,文本框不再具有焦点,因此始终返回body元素。

查看更多信息:https://developer.mozilla.org/en-US/docs/DOM/document.activeElement

您必须通过监视最后单击的项来跟踪最后选择的项。

下面的脚本应该完成您正在寻找的。

jsFiddle

JS

$('body').append(
  //Dynamic Inputs being added
  $('<input />', { 'id':'test', 'type':'text'})
).append(
  //Dynamic Inputs being added
  $('<input />', { 'id':'test2', 'type':'text'})
).on('click', 'input[type="text"]', function(e){
  //Keep track of the last selected input
  $('.lastSelected').removeClass('lastSelected'); 
  $(this).addClass('lastSelected'); 
}); 
//Get the last selected input from the page on a button click
$('#mybutton').click(function(e){
  var items = $('.lastSelected')
  if(items.length > 0){
    alert($('.lastSelected').attr('id')); 
  }
}); 

相关内容

  • 没有找到相关文章

最新更新