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

2022-10-26 13:55:47 浏览数 (2)

搜索功能举例

  1. jquery回车监听事件在最后那行代码
代码语言:javascript复制
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据此判断是搜索功能还是其他功能
  2. data-role的作用:
    • search.js 据此判断搜索的类型
代码语言:javascript复制
    <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>

0 人点赞