jquery模拟点击事件

在某些情况下,我们需要自动执行一些点击事件。比如:一些 tab 一般是通过点击事件来加载不同的数据内容。

而如果要页面加载完直接显示第三个 tab,怎么办呢?此时就需要用到 jQuery 的模拟点击事件。

要用到 jQuery 的 trigger 方法。 如:

$('#btn').trigger("click");

会自动执行 id 为 btn 的 click 事件。还可以写成:

$('#btn').click();

trigger() 方法不仅可以触发浏览器支持的同名事件,还可以支持自定义事件。如下:

$('#btn').bind("myClick", function(){     
    $('#test').append("<p>我的自定义事件.</p>");     
});

绑定一个 myClick 自定义事件。

可以通过:

$('#btn').trigger("myClick");

来触发模拟点击。

trigger() 方法会触发浏览器的默认事件。如下,不仅会执行用户绑定的focus事件,还会执行浏览器的默认focus 事件,使 input 获取焦点。

$("input").trigger("focus");

如果只想执行用户绑定的 focus 事件,而不执行浏览器的默认事件,则可以通过 jQuery 的另外一个方法。triggerHandler() 来实现。

$("input").triggerHandler("focus");

此方法,只会执行绑定的 focus 事件,而取消 浏览器的默认事件。即,只执行focus事件,input 框不会获取焦点。

 

posted @ 2019-10-23 20:07  我的故事没编好  阅读(11744)  评论(0编辑  收藏  举报