javascript - 如何触发点击键13

标签 javascript jquery

我有这个代码:

<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.d‌​efaultValue){
$('#vrid').click();
}

所以我想要一些有条件的东西,如果焦点位于搜索结果页面(在键 13 上)的输入,否则如果焦点在建议的项目上,则需要该项目的 href(在键 13 上) .

请帮忙 谢谢大家

最佳答案

假设selected类被添加到链接中,一旦按下回车键:

var location = $(".selected")[0].href;
window.location.href = location;

更新代码:

$("#search").keyup(function (e) {
    if (e.keyCode == 40)
        Navigate(1);
    if (e.keyCode == 38)
        Navigate(-1);
    if (e.keyCode == 13) {
        // say goodbye to the page!
        var location = $(".selected")[0].href;
        window.location.href = location;
    }
});

关于javascript - 如何触发点击键13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31308917/

相关文章:

javascript - 如何在 jQuery/Javascript 中逐点获取元素

javascript - 浏览器如何处理图像源?

javascript - 可组合的 Ractive js 组件

javascript - 如何对输入标签中的两个数字求和?

javascript - Bootstrap 选择器显示 :Uncaught TypeError: Cannot set property '_menu' of undefined

jquery - 基于jquery ui slider 值隐藏或显示

javascript - 使用 jQuery 设置元标记

javascript - 使用 JQUERY 拆分 JSON 数据

javascript - 更正 CSS/JS 参数以填充 div

javascript - 序列化表单,排除特定类