jquery触发器事件

时间:2011-03-10 11:06:02

标签: jquery events triggers

我们如何在实时对象上调用触发器点击事件。

$("#continue").live("keypress",function(){
 if (e.which == 32 || e.which == 13) {
    $(this).trigger("click");
  }
});

当我按下按钮时,如果阻止它进入,但它没有触发按钮。你可以帮助我吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

您使用参数“e”,但实际上从未将其作为参数传递。

$("#continue").live("keypress",function(){

需要:

$("#continue").live("keypress",function(e){

答案 1 :(得分:2)

试试这个:

$("#continue").live("keyup",function(e){
 if (e.keyCode == 32 || e.keyCode == 13) {
    $(this).trigger("click");
  }
});

我在这篇文章中略述了这一点:EnterKey is not working sometimes in IE8, using jQuery's keyPressed

但基本上有“特殊键”不会在按键上触发,你必须使用keydown或keyup。

此处示例:http://jsfiddle.net/uS4XK/1/

虽然我必须诚实地说这是一种奇怪的行为。当他们按下回车键时,你想要#continue上的点击事件吗?

答案 2 :(得分:0)

您需要检查$(this)是否与您的按钮完全匹配。

尝试更换:

$(this).trigger('click')

使用

$('#continue').trigger('click')