我有一个图片标记:
<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
。
答案 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();
});
答案 2 :(得分:0)
我认为你需要的是模拟一个&return;返回/输入&#39;按键,最自然地提交输入的值(可以通过提交/ AJAX)
.trigger()
将调用eventhandler而不是模拟本机浏览器事件。请参阅:http://learn.jquery.com/events/triggering-event-handlers/
然后,您需要将事件处理程序绑定到enter键,并提供无论如何要执行的操作。这意味着包括.submit()
或post()
或$.ajax()
或任何被调用的代码(除非它是在触发器处理程序上定义的)
您可能需要的是.simulate();
jquery.simulate.js