首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在enter键上单击ajax触发器按钮

在enter键上单击ajax触发器按钮
EN

Stack Overflow用户
提问于 2015-05-08 20:12:17
回答 2查看 3.7K关注 0票数 3

我需要在按下Enter键(keycode 13)时触发ajax调用,但这并不能正确地触发按钮单击:

代码语言:javascript
复制
<div class="input-group col-md-6">
<input type="text" class="form-control" placeholder="Search by Asset ID" maxlength="64" class="form-control" id="imageid" name="imageid"> <span class="input-group-btn">
<button class="btn btn-default image-search" type="button">Search</button>
</span>
</div>

$('#imageid').keyup(function () {
    this.value = this.value.replace(/[^0-9\.]/g, '');
    if (event.keyCode == 13) {
        alert(keyCode);
        event.preventDefault();
        $('.image-search').click();
    }
});

$('.image-search').on('click', function () {
    $.ajax({
        url: url
        method: 'GET',
    });
}

JSfiddle:链接

更新:我添加了其余的功能,现在keyCode功能不再工作了。我试着创建一个$(function () { //code });,但这并没有什么不同。当移除第1-173行时,该功能可以工作。我想我只是错过了一些简单的东西。

更新Fiddle: 链接

EN

回答 2

Stack Overflow用户

发布于 2015-05-08 20:14:56

虽然可以直接调用.click(),但可以使用.trigger()。为了了解这两种方法的不同之处,这个答案将对这一主题做一些说明。就最佳实践而言,我认为从代码阅读的角度来看,这是比较直观的。此外,你的原始小提琴有一个小的语法问题,阻止你前进。

执行与给定事件类型的匹配元素相关联的所有处理程序和行为。

代码语言:javascript
复制
$('.image-search').trigger('click');
代码语言:javascript
复制
$(function() {
    $('#imageid').keyup(function () {
        this.value = this.value.replace(/[^0-9\.]/g, '');
        if (event.keyCode == 13) {
            event.preventDefault();
            $('.image-search').trigger('click');
        }
    });

    $('.image-search').on('click', function () {
        alert('triggered!');
    });
});

JSFiddle链路

票数 3
EN

Stack Overflow用户

发布于 2015-05-08 20:21:17

在js代码中出现了一些错误:

代码语言:javascript
复制
  $('.image-search').on('click', function () {
       $.ajax({
        url: url
        method: 'GET',
       });
   })//you missed this ")"

下面是工作http://jsfiddle.net/4uwaz2yd/6/的代码

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

https://stackoverflow.com/questions/30132121

复制
相关文章

相似问题

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