摁下回车键进行查询(优化)

外部js文件:enterKeySearch.js

$(function(){

      window.onkeyup = function(event) {

        if (flag && event.keyCode == 13) {

           doSubmit();

        }

      }

   var flag = false;

   var $querys = $(".query");

   for (var i = 0; i < $querys.length; i++) {

      var $query = $($querys.get(i));

      $query.bind({

        "focus" : function() {

           flag = true;

        },

        "blur" : function() {

           flag = false;

        }

      });

   }

});

 

上述js也可以在进行优化

$(function(){

      window.onkeyup = function(event) {

        if (flag && event.keyCode == 13) {

           doSubmit();

        }

      }
//也可以使用bind方法直接绑定focus和blur事件  
var flag = false; $(".query").focus(function(){     flag = true; }); $(".query").blur(function(){     flag = false; }); });

 

使用方法:(最好将.query名称进行更改,以防止和其他插件样式有冲突)

1、在控件获取焦点后,键盘回车需要进行查询的html控件的class属性添加query,例如class="query",class="style1  query"

2、实现doSubmit方法。doSubmit方法是回车事件后执行的操作,比如查询操作。

 

实现思路:

1、页面加载时,初始化一个标识符flag(该标识符为true则表明支持enter键查询的html标签获得了焦点,为false则支持enter键查询的html标签都没有获取焦点),

   取出class="query"的所有html标签,循环遍历给每个取出来的html标签添加focus和blur事件

   给window绑定onkeyup事件

2、当class="query"的标签获取焦点时,则会将flag设置为true,当失去焦点,将flag设置为false

3、当摁下键盘,会判断是否是enter键(enter键keyCode为13),如果是enter键,并且flag为true,即获取有焦点,则会调用doSubmit方法

4,、在doSubmit方法中进行一些自定义的操作

你可能感兴趣的:(优化)