重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
function AHrefClick (){
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十多年时间我们累计服务了上千家以及全国政企客户,如成都混凝土搅拌罐车等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞美。
var e = jQuery.Event("keydown");//模拟一个键盘事件
e.keyCode = 13;//keyCode=13是回车
$("#id").trigger(e);//模拟按下回车
}
要模拟键盘事件,首先要在需要模拟的元素上绑定事件才能模拟。比如先:
$(".div").on("keydown","input",function(){
alert("ABC");
});
然后再执行:
var e = jQuery.Event("keydown");//模拟一个键盘事件
e.keyCode = 13;//keyCode=13是回车
$(".div input").trigger(e);//模拟按下回车
有时候我们需要页面自动点击超链接或者按钮,可以用js或者jQuery利用程序去点击,方法很简单,按钮或超链接代码如下:
点击超链接 点击按钮
上面是一个超链接和一个按钮,并且超链接和按钮都绑定了点击事件
先看超链接,如果我们打算点击超链接的同时不仅触发事件而且跳转到href的指定链接,可以用:
script
document.getElementById("alink").click();/script
这样就可以实现上面的功能,但是如果我只想触发事件而不想跳转呢,方法有两个,第一个是href写上href="javascript:;"
另外的方法是引入jQuery,然后用jQuery点击事件触发
script
$("#alink").click();/script
这样就不会跳转了
如果是按钮的话,直接用以下代码:1 script2 //真正的用程序点击按钮3 document.getElementById("btn").click();4 //没有点击按钮,只是执行了按钮所绑定的事件5 document.getElementById("btn").onclick();6 /script
常用模拟
在jQuery中,可以使用trigger()方法完成模拟操作。
例如,使用如下代码来触发id为btn按钮的click事件。
代码示例:
$("#btn").trigger("click");
当页面加载完毕后,就会立刻输出想要的效果。
也可以直接用简化写法click():
代码示例:
$("#btn").click();
trigger(type,[data])
在每一个匹配的元素上触发某类事件。
这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
你也可以触发由bind()注册的自定义事件
返回值 jQuery
参数
type (String) : 要触发的事件类型
data (Array) : (可选)传递给事件处理函数的附加参数
示例
提交第一个表单,但不用submit()
jQuery 代码:
$("form:first").trigger("submit")
--------------------------------------------------------------------------------
给一个事件传递参数
jQuery 代码:
$("p").click( function (event, a, b) {
// 一个普通的点击事件时,a和b是undefined类型
// 如果用下面的语句触发,那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]);
--------------------------------------------------------------------------------
下面的代码可以显示一个"Hello World"
jQuery 代码:
$("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
=====================================================================
triggerHandler(type,[data])
这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.
返回值 jQuery
参数
type (String) : 要触发的事件类型
data (Array) : (可选)传递给事件处理函数的附加参数
示例
如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。
HTML 代码:
button id="old".trigger("focus")/button
button id="new".triggerHandler("focus")/buttonbr/br/
input type="text" value="To Be Focused"/
jQuery 代码:
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){ $("spanFocused!/span").appendTo("body").fadeOut(1000); });
通过改变select的size属性,来模拟弹出事件。
代码:
$('#pop').click(function(){
$('#select').attr('size',5);
})
$('#shift').click(function(){
$('#select').attr('size',1);
})
效果
select
自动弹出
这个有什么用呢?
你可以在那个指定的坐标上面创建一个1像素的透明元素 , 模拟点击那个元素。