我有以下代码:
<input type="text" id="search" autocompleteoff>
使用以下代码打开一个自动建议框:
<div class="search-results">
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
<a class="qss" href="www.domain.com/page1">Lorem Lipsum Dolar</a>
</div>
而且我正在使用此javascript在键盘箭头键内的建议中移动:
$(document).ready(function() {
window.displayBoxIndex = -1;
$("#search").keyup(function(e)
{
if (e.keyCode == 40)
{
Navigate(1);
}
if(e.keyCode==38)
{
Navigate(-1);
}
});
var Navigate = function(diff) {
displayBoxIndex += diff;
var oBoxCollection = $(".qss");
if (displayBoxIndex >= oBoxCollection.length)
displayBoxIndex = 0;
if (displayBoxIndex < 0)
displayBoxIndex = oBoxCollection.length - 1;
var cssClass = "selected";
oBoxCollection.removeClass(cssClass).eq(displayBoxIndex).addClass(cssClass);
}
});
当我按下Enter键(键13)时,如何使此javascript触发对所选项目的点击
还请注意,当搜索输入字段聚焦时,我已经将点击触发器附加到了13的点击触发器上,这使我进入了全局搜索结果页面。这是
$('#search').keypress(function(x){if(x.keyCode==13){q=$(this).val();if(q!=this.defaultValue){
$('#vrid').click();
}
所以我要有条件的话,如果重点是输入到搜索结果页面(在键13上),否则,如果把重点放在建议的项目上,它将带到该项目的href(在键13上)。
请帮助谢谢大家
根据您的评论,以下代码是您如何为键13附加事件的方式,并假设链接具有此类selected
:
请查看以下内容是否适合您。请#search
keypress
以此替换您当前的代码。
$('#search').keypress(function(x){
if(x.keyCode==13){
if ($('.selected').length) {
var loc = $(".selected")[0].href;
window.location.href = loc;
} else {
q = $(this).val();
if (q!=this.defaultValue) {
$('#vrid').click();
}
}
}
});
在这个小提琴中看到这个动作
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句