使用jQuery触发Enter事件

时间:2014-12-18 20:03:47

标签: javascript jquery

我有一个图片标记:

         <img src='Presale.png' alt='presell' onclick="presell()"/> Presell

功能:

function presell()
{
    $(".form-control").val("presell");
    var e = jQuery.Event("keypress");
    e.which = 13;
    e.keyCode = 13;
    $(".form-control").trigger(e);
}

我想要做的是在搜索框中填入一些文字,并在点击特定图片时触发enter,以便进行与该图像相关的搜索。但是此代码将值放在搜索框中,但不会触发enter

3 个答案:

答案 0 :(得分:1)

您需要提交实际表单,而不是使用keypress的键码触发enter事件(不起作用)

e.g。

$("form").submit();

答案 1 :(得分:1)

你可以这样做:

<img src='Presale.png' alt='presell' /> Presell
<form>
    <input type="text" class="form-control" />
</form>

注意:我从图片中删除了点击处理程序。

在JS中:

$("img").on("click", function(){
    $(".form-control").val("presell");
    $("form").submit();
});

Demo

答案 2 :(得分:0)

我认为你需要的是模拟一个&return;返回/输入&#39;按键,最自然地提交输入的值(可以通过提交/ AJAX)

.trigger()将调用eventhandler而不是模拟本机浏览器事件。请参阅:http://learn.jquery.com/events/triggering-event-handlers/

然后,您需要将事件处理程序绑定到enter键,并提供无论如何要执行的操作。这意味着包括.submit()post()$.ajax()或任何被调用的代码(除非它是在触发器处理程序上定义的)

您可能需要的是.simulate(); jquery.simulate.js