首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么javascript按回车键没有功能?

为什么javascript按回车键没有功能?
EN

Stack Overflow用户
提问于 2014-05-27 12:30:45
回答 3查看 167关注 0票数 0

我正在工作的文本字段,这是按“回车”按钮,但不幸的是,它不工作。我正在尝试跟踪我的项目中的代码。

这是我的JavaScript代码:

代码语言:javascript
运行
复制
<script>
$(document).ready(function() {  
    // Live Search
    // On Search Submit and Get Results
    function search() {
        var query_value = $('input#search').val();
        $('b#search-string').html(query_value);
        if(query_value !== ''){
            $.ajax({
                type: "POST",
                url: "search.php",
                data: { query: query_value },
                cache: false,
                success: function(html){
                    $("ul#results").html(html);
                }
            });
        }
            return false;    
    }

    $("input#search").live("keyup", function(e) {
        var theSearch = $('#search');
        // Set Timeout
        clearTimeout($.data(this, 'timer'));

        // Set Search String
        var search_string = $(this).val();

        // Do Search
        if (search_string == '') {
            $("ul#results").fadeOut();
            $('h4#results-text').fadeOut();
        }else{
            $("ul#results").fadeIn();
            $('h4#results-text').fadeIn();
            $(this).data('timer', setTimeout(search, 0));
        };
    });

});

    $("#search").on('keyup',function(e){
    var text = document.getElementById("search").value;
    if(text !== ""){
        if (e.which == 13){
            $("#btnSearch").click();
        }
    }   
});

function doSomething(){
    var text = document.getElementById("search").value;
    window.location.assign("search.php?value = " + text);
}
});

</script>

这是我的HTML代码:

代码语言:javascript
运行
复制
<input type="text" id="search">
<input type="button" id="btnSearch" onclick="doSomething();" />

我希望我能得到你们的帮助。在进阶时谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-05-27 12:38:57

使用唯一的选择器id

代码语言:javascript
运行
复制
$("#search").on('keyup',function(e){

    if (e.which == 13){
        alert('abc');
    }
});

demo jsfiddle

使用input type选择器

代码语言:javascript
运行
复制
$('input[type=text]').each(function(i,e) {

    $("#"+e.id).on('keyup',function(e){

        if (e.which == 13){
            alert('abc');
        }
    });
});

another demo

票数 2
EN

Stack Overflow用户

发布于 2014-05-27 12:47:50

$("input[type=text]").on...放在$(document).ready中,如果您想使用JQuery,请确保您使用的是live 1.7之前的版本

票数 1
EN

Stack Overflow用户

发布于 2014-05-27 13:07:16

将您的html更改为

代码语言:javascript
运行
复制
  <form onsubmit="doSomething();" >
   <input type="text" id="search">
   <input type="submit" id="btnSearch"  />
  </form>

使用此函数时,您不必监听enter键事件,您的doSomething()函数将在输入字段中按enter键时自动调用

DEMO

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23881104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档