页面加载完成后,触发事件——trigger()

时间:2022-08-01 05:06:57
<button id="btn">点击我</button>
<div id="test"></div>

如果页面加载完后要立即输出想要的效果可有有trigger()方法实现: 1.在bind事件后面执行trigger("事件名称")或者事件名称()

 <script type="text/javascript">
$(function(argument) {
$("#btn").bind("click",function(){
$("#test").append("<p>页面加载完之后,我就立即被插入了1</p>")}).bind("click",function(){
$("#test").append("<p>页面加载完之后,我就立即被插入了2</p>");
})
;
//$("#btn").trigger("click"); 页面加载完成立即执行,也可以写成下面的格式
$("#btn").click();
}) //$(function(argument) {
</script>

2.触发自定义事件

trigger()方法不仅能触发浏览器支持的具有相同的事件,也可以触发自定义名称的事件。

 <script type="text/javascript">
$(function(){
$("#btn02").bind("myClick",function(){
$("#test02").append("<div>我触发了自定义事件</div>");
});
$("#btn02").click(function(){
$(this).trigger("myClick");
}).trigger("myClick");
})
</script>
<button id="btn02">触发自定事件</button>
<div id="test02"></div>

3.trigger()传递参数

  trigger(type,[data])有两个参数,第一参数是要触发的事件类型,第2个参数是要传递给事件处理函数的附加数据,该参数以数组形式传递。可以通过传递一个参数给回调函数来区分这个事件是代码触发的还是用户触发的。

 <script type="text/javascript">
$(function(){
$("#btn03").bind("myClick03",function(event,ms01,ms02){
$("#test03").append("<p>"+ms01+ms02+"</p>");
});
$("#btn03").click(function(){
$(this).trigger("myClick03",["自定义事件01","参数传递01"]);
})
.trigger("myClick03",["自定义事件","参数传递"]);
})
</script>
 <button id="btn03">自定义事件参数</button>
<div id="test03"></div>