搜索功能举例
- 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自定义属性的应用
- 考虑到搜索功能是网站的公共功能,可以从多个页面跳转到搜索页,故做如下优化:
- html自定义属性,区分是从哪个页面跳转到搜索
- 在public.js中初始化搜索(public.js会被所有页面引入)
- js根据type(页面来源)和keyword(关键字)进行搜索
html代码
- data-act的作用:
- public.js据此判断是搜索功能还是其他功能
- 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>