在事件触发的时候,有时我们需要一些模拟用户行为的操作。例如:当网页加载完毕后 自行点击一个按钮触发一个事件,而不是用户去点击。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>模拟触发</title>
<script type="text/javascript"
src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>

</head>

<body>
<input type="button"  value="提交"/>
<div class="d1">
    div
</div>


<script type="text/javascript">
$('input').click(function(){
    alert('第一次模拟触发');
    
    }).trigger('click');//此处直接用.click();即可,自调用

</script>
</body>
</html>

-----------------------------------------------

此处可以传递数据,如下:

<script type="text/javascript">
$('input').click(function(e,data1,data2){
    alert(data1+','+data2);
    
    }).trigger('click',['abc',123]);

</script>

-------------------------------------------------------

注意:当传递一个值的时候,直接传递即可。当两个值以上,需要在前后用中括号包含
起来。但不能认为是数组形式,下面给出一个复杂的说明。
$('input').click(function (e, data1, data2) {
alert(data1.a + ',' + data2[1]);
}).trigger('click', [{'a' : '1', 'b' : '2'}, ['123','456']]);

原文地址:https://www.cnblogs.com/jiangwenli/p/4873226.html