jquery回车监听事件及html自定义属性的应用

jQuery
364
0
0
2022-11-23
搜索功能举例
  1. jquery回车监听事件在最后那行代码
define('widget/search.js', [], function (require, exports, module) {

    var _dom = {
        keyword: $('.js_keyword'),
        dataRole: $('.js_submit').attr('data-role'),
        btn: $('.js_submit'),
    };

    function search() {
        var type = _dom.dataRole;
        var keyword = _dom.keyword.val();

        if (keyword != '') {
            location.href = 'http://wzy.search.xxx.com/detail/list/?filter=' + type +
                '&keyword=' + keyword;
        } else {
            $.dialog.errorTips("请您输入搜索内容");
        }
    }

    module.exports = {
        init: function () {
            $('[data-act="searcher"]').on('click', function (e) {
                search();
            });
        }
    };

    //回车监听事件
    $(document).keydown(function (event) {
        if (event.keyCode == 13) {
            search();
        }
    });
});

HTML自定义属性的应用

  1. 考虑到搜索功能是网站的公共功能,可以从多个页面跳转到搜索页,故做如下优化:
  • html自定义属性,区分是从哪个页面跳转到搜索
  • 在public.js中初始化搜索(public.js会被所有页面引入)
  • js根据type(页面来源)和keyword(关键字)进行搜索
html代码
  1. data-act的作用:
  • public.js据此判断是搜索功能还是其他功能
  1. data-role的作用:
  • search.js 据此判断搜索的类型
    <div class="search-box fn-right js_search_container"> 
        <div class="box"> 
            <input type="text" name="" class="frm-input js_keyword" 
                   placeholder="输入关键词"/> 
            <input type="submit" class="btn btn-primary search js_submit" data-act="searcher" data-role="series" 
                   value="搜索"/> 
        </div> 
    </div>