使用 jQuery 触发 Enter 事件

Using jQuery to trigger Enter event

本文关键字:事件 Enter 触发 jQuery 使用      更新时间:2023-09-26

我有一个图像标签:

         <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

您需要

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

例如

$("form").submit();
你可以

这样做:

<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();
});

演示

我认为您需要的是模拟"返回/输入"按键,这将最自然地提交输入的值(可以通过提交/AJAX(

.trigger()将调用事件处理程序,而不是模拟本机浏览器事件。参考: http://learn.jquery.com/events/triggering-event-handlers/

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

您可能需要通过jquery.simulate .simulate();获得.js