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

84

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

6个回答

148

是的,你可以使用jQuery来实现。使用trigger函数。这里是文档。以下是示例:


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

4
这种解决方案是否比普通的.click()方法更可取?也许这两种方法之间有运行时成本的差异吗? - axolotl
我似乎无法在IE中使其工作。还有其他人遇到这个问题吗?$(this).trigger('click'); - MomasVII
忽略,似乎在添加 event.preventDefault(); 后无法添加点击。 - MomasVII

29

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

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

14

仅需使用.click()

$("#theButton").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>


3
请尝试以下代码,例如:
setTimeout(function() {
    $(".class_name").trigger('click');  
}, 2000);

0
将其包装在这个“匿名文档就绪函数”中,可以确保在单击按钮之前该按钮已经存在。以防万一尝试在加载要单击的元素之前单击它。这将解决这个问题。
另外,请记住,ID使用哈希(即#close-button),但如果您想单击具有CLASS的元素,则将哈希替换为一个点(即.close-button)。
jQuery(document).ready(function() {
        $("#close-button").trigger('click');    
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接