我一直在尝试使用jquery来触发点击。
我发现触发点击,如下所示:$(按钮).trigger('click');不要关注hrefs。我一直试图通过触发提交按钮来提交ajax,但是没有去。
我知道我可以直接提交。但有没有办法触发按钮?感谢。
答案 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链接处理,但我们也想触发实际的链接访问(链接可以是散列或跨域链接)。