js Jquery 控制 select 获取焦点自动展开

6,080次阅读
没有评论

js 给 select 一个点击事件并不能触发 select 自动展开使用使用以下办法触发

[infobox title="JS 部分"]

<script>
$(function(){
var inputs = $("input[type='text'],select");
      inputs.keydown(function (e) {
          var k = e.keyCode;
          //var a = $.inArray(this,inputs);//jquery 获取数组元素的下标
          var a=inputs.index($(this));//jquery 获取数组元素的下标, 两种方法
          if (k == 13 || k == 39) {
              inputs[a+1].focus();
              return false;
          } else if (k == 37) {
              inputs[a-1].focus();
          }
      })

})
</script>

[/infobox]

[warningbox title="html"]

<input type="text">
      <select name="select1"id="select1" 
              onfocus="this.size=this.length;"
              onclick="this.size='1';" 
              onblur="this.size='1';" 
              style="width:45px;position:absolute;top:10px;">
          <option selected="selected"value="1">1</option>  
          <option value="2">2</option>  
          <option value="3">3</option>  
          <option value="4">4</option>  
        
      </select>  

[/warningbox]

按 enter 键,焦点自动跳到下一个输入框或者 select 中,如果 select 下拉框获得焦点就自动展开 option 选项

原文:http://yayihouse.com/yayishuwu/chapter/1325

正文完
 0
松鼠
版权声明:本站原创文章,由 松鼠 于 2019-12-13 发表,共计 947 字。
转载说明:除特殊说明外本站文章皆由 CC-4.0 协议发布,转载请注明出处。
评论 (没有评论)
验证码