【问题标题】:Focus Nearest Div of Select Element选择元素的焦点最近的 div
【发布时间】:2017-06-20 10:18:27
【问题描述】:

我有选择元素

  <select id="tokenize" multiple="multiple" 
class="tokenize" style="margin: 0px;
 padding: 0px; border: 0px; display: none;"/>

在选择元素下有一个div,它是类

<div class="tokenize Tokenize">
<ul class="TokensContainer ui-sortable">
<li class="Placeholder" style="display: list-item;">
enter Position</li><li class="TokenSearch">
<input size="5"></li></ul><ul class="Dropdown"
 style="display: none;"></ul></div>

我想关注(用光标)最接近选择的 div。该 div 通过 javascript 动态创建,所以我无法从 html 修复它,所以我尝试使用 javascript。我想关注 div(它是 class tokenize)是最近的选择元素(它是 id tokenize)

我试试这个,但这不起作用

  document.getElementById(Select-Element-ID).firstElementChild.focus().select();

【问题讨论】:

    标签: javascript html css jquery-tokeninput tokenize2


    【解决方案1】:

    您必须将 tabindex 属性添加到 div 以使其具有焦点。
    来源:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex

    更新:

    var $inputToFocus = document.getElementById(Select-Element-ID).nextElementSibling.querySelector('.TokenSearch input');
    
    $inputToFocus.focus();
    

    【讨论】:

    • 但是那个div(类名是tokenize)是由第三方jquery插件生成的,我试着理解它,但它太复杂了
    • 谢谢,我添加了你的代码,它没有给出错误但它没有聚焦....pratikisara.com/Home/Quick你可以在这里看到(标题:Mesleğiniz/Unvan 就在标题那里有选择喜欢的文字区域,它是自动完成的,你可以输入“yaz”然后选择任何项目然后你的代码工作但它没有焦点)
    • 好的,您正在尝试更新错误的元素。我已经更新了答案。
    • 谢谢@giovanni Giordano
    【解决方案2】:

    这是使用 Jquery 解决问题的最先进的解决方案。 而且非常简单

    $("#tokenize").closest("div").focus();

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2016-06-03
      • 2013-04-22
      相关资源
      最近更新 更多