如何在窗口中的任何位置单击选择框时,如何获得选择框关闭事件?

时间:2014-11-24 05:58:11

标签: javascript jquery html css html5

如果在窗口中的任何位置单击选择框,我如何获得选择框关闭事件。

我的要求是。我想关注选择框关闭事件的另一个输入。

我尝试了很多j个查询事件,但是当选择框打开时,我无法在窗口(浏览器)上找到任何点击事件。

在这里,我将分享您查看示例的步骤。

  1. 点击选择框后,您将点击'在控制台。
  2. 点击框外的任何窗口中的任何位置,您会发现选择框已关闭,但您无法获得任何活动。 :(
  3. 我正在接受改变事件,但只有当我选择一些值时,但我想如果有人点击选择框的一侧,它应该尽可能接近,但我们也可以将注意力集中在其他元素上。
  4. 请查找以下静态示例,它是非常简单的代码(示例),所以我没有生成jsfiddle。

    <!doctype html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
          $(document).ready(function(e) {
            $(window).click(function(){
              console.log("body clicked");
            });
          });
        </script>
      </head>
    
      <body>
        <select id="mySelect">
          <option value="0">Initial Value 1</option>
          <option value="1">Initial Value 2</option>
          <option value="2">Initial Value 3</option>
          <option value="3">Initial Value 4</option>
        </select>
      </body>
    </html>
    

1 个答案:

答案 0 :(得分:1)

onClose元素没有select个事件。您可以使用以下内容尝试$.focusout事件处理程序:

$('#mySelect').focusout(function(){
    console.log('Dropdown list 1 losing focus...');
    $('#anotherElement').focus();
});

这样,当您在框外单击时,focusout事件将被触发,它将触发另一个元素的focus事件。

提供小提琴here

&#13;
&#13;
$(document).ready(function (e) {
    $('#mySelect1').focusout(function(){
        console.log('Dropdown list 1 losing focus...');
        $('#mySelect2').focus();
    });
});
&#13;
select{
    margin:5px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="myselect1">Dropdown list 1</label>
<select id="mySelect1">
    <option value="0">Initial Value 1</option>
    <option value="1">Initial Value 2</option>
    <option value="2">Initial Value 3</option>
    <option value="3">Initial Value 4</option>
</select>

<br />

<label for="myselect2">Dropdown list 2</label>
<select id="mySelect2">
    <option value="0">Initial Value 5</option>
    <option value="1">Initial Value 6</option>
    <option value="2">Initial Value 7</option>
    <option value="3">Initial Value 8</option>
</select>
&#13;
&#13;
&#13;