如何使用jQuery或JavaScript模拟点击按钮的动作?


76

我需要使用JavaScript来模拟单击按钮的动作。我该如何实现?我可以用jQuery实现吗?

Answers:


121

是的,您可以使用jquery做到这一点。使用trigger功能。这里的文档。这是示例:

$('#foo').trigger('click');

3
该解决方案是否比香草.click()方法更受青睐?两者之间可能存在一些运行时成本差异吗?
axolotl

我似乎无法在IE中使用它。还有谁?$(this).trigger('click');
Thomas Byy

忽略,添加后似乎无法添加点击event.preventDefault();
Thomas Byy

27

您可以执行分配给按钮控件的click事件处理程序:

$("#mybutton").click();


3

下面的代码将打印点击两次从一个$('.submitBtn').click();和其他$('.submitBtn').trigger('click')

$(document).ready(function() {

  $('.submitBtn').on('click', function() {

   console.log("Clicked!");

  })

$('.submitBtn').click();
$('.submitBtn').trigger('click')



});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<button menu="submitBtn" class="submitBtn len4 btn" title="submit" data-code-m="sbm.submit"> Click me
        </button>


1

请尝试以下代码,例如:

setTimeout(function() {
    $(".class_name").trigger('click');  
}, 8000);

0

将其包装在此“匿名文档准备功能”中,将确保在单击该按钮之前,该按钮在那里。以防万一它试图在要单击的元素加载之前单击。这将解决该问题。

另外,请记住,ID使用哈希(即#close-button),但是如果您要单击具有CLASS的元素,则将哈希替换为单个点(即.close-button)。

jQuery(document).ready(function() {
        $("#close-button").trigger('click');    
});
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.