【问题标题】:How to modify this jquery?如何修改这个jquery?
【发布时间】:2011-11-09 15:59:18
【问题描述】:

我有一个建议框的脚本。它工作得很好但是这个问题我想修改它以用于 upkey 和 downkey 事件。它只是给出建议,甚至不适用于鼠标点击事件。

function lookup(inputString) {
    if(inputString.length == 0) {
        // Hide the suggestion box.
        $('#suggestions').hide();
    } else {
        $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').show();
                $('#autoSuggestionsList').html(data);
            }
        });
    }
} // lookup

function fill(thisValue) {
    $('#inputString').val(thisValue);
    setTimeout("$('#suggestions').hide();", 50);
}

HTML

<input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
<div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
<div class="suggestionList" id="autoSuggestionsList"> &nbsp; </div>

由于我是 jquery 的新手,我是否知道如何针对鼠标单击或键盘箭头键进一步修改它。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    我认为这可能会帮助您使用键盘箭头键(注册键事件处理)

    // Handling keybinding keydown.
    $(document).keydown(function(e){
            switch(e.keyCode){
                case 38: //this is (UP) pressed down
                // do the action you want.
                    break;
            }
    });
    
    // Handling keybinding keyup.
    $(document).keyup(function(e){
            switch(e.keyCode){
                case 38: //this is (UP) pressed down
                // do the action you want.
                    break;
            }
    });
    

    此链接将帮助您获取密钥代码:

    http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/javascript-char-codes-key-codes.aspx

    【讨论】:

    • 对不起,如果我使用这段代码,我没有任何效果。他们仍然没有效果我无法使用鼠标单击或光标键选择值。
    【解决方案2】:

    为什么要重新发明轮子 - 你看过 jquery ui 自动完成功能吗? http://jqueryui.com/demos/autocomplete/

    【讨论】:

    • 你能否提供它只搜索第一个字符的想法。假设在这个例子中它给了我 3 个值,即“AJAX、JAVA、JAVASCRIPT”如果我输入“JA”我希望只获取 Java 和 javascript 我不希望获取中间有这个字符串的记录。
    • 所以你想要一个以搜索开始而不是包含。已经有这样的例子了。例如。 stackoverflow.com/questions/3148195/…
    猜你喜欢
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多