Jquery触发一次点击

时间:2009-06-02 16:16:12

标签: jquery triggers

我一直在尝试使用jquery来触发点击。

我发现触发点击,如下所示:$(按钮).trigger('click');不要关注hrefs。我一直试图通过触发提交按钮来提交ajax,但是没有去。

我知道我可以直接提交。但有没有办法触发按钮?感谢。

4 个答案:

答案 0 :(得分:8)

jQuery不会故意触发A元素的本地“点击”。我不知道为什么。

但您可以使用他们用来触发链接的技术:

$link[0].click(); // extract the native DOM element and trigger the click

这是未经测试的,但它是从jQuery源代码中提取的,应该可以正常工作。

答案 1 :(得分:2)

我不明白为什么你需要这样做。也许您希望提交按钮的标签与表单一起提交(因此您的服务器代码知道按下了什么按钮)。在这种情况下,你可以这样做:

var $form = $("form"); // your form
var $button = $(":submit",$form); // your button
var $hidden = $("<input type='hidden' />");

$hidden.attr("name",$button.attr("name"));
$hidden.val($button.val());

$form.append($hidden);
$form.submit();

我确信这可以优化,但它会起作用(它将使用提交按钮模拟“真实”提交)

答案 2 :(得分:1)

不确定你为什么要这样做,但我已经在这里用以下方法对它进行了测试,并且它有效。

<form id="frm" action="#">
 <input type="submit" id="btnSubmit" />
  ...
  ...
</form>

调用此 - &gt;     jQuery的( “#btnSubmit按钮”)触发器( “点击”);

答案 3 :(得分:-1)

另一种替代方案,在Chrome,Firefox,IE6,IE8中测试:

window.location = $('a').trigger('click').href('attr');

我最终使用了这个,因为我们在点击事件上有默认的jquery链接处理,但我们也想触发实际的链接访问(链接可以是散列或跨域链接)。