jquerytrigger(jquery trigger的用法)
朋友们,你是否曾想过深入了解jquerytrigger和jquery trigger的用法的内涵?在本文中,我将为你详细解析这两个话题,希望能给你带来全新的视角和思考。
Jquery中trigger和triggerHandler的区别
trigger( event, [data])
在每一个匹配的元素上触发某类事件。这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个’submit’,则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
也可以触发由bind()注册的自定义事件
$("p").click(function(event,a,b){
//一个普通的点击事件时,a和b是undefined类型
//如果用下面的语句触发,那么a指向"foo",而b指向"bar"
}).trigger("click",["foo","bar"]);
triggerHandler( event, [data])
这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.
如果对一个focus事件执行了.triggerHandler(),浏览器默认动作将不会被触发,只会触发绑定的动作:
<BUTTONid=oldtype=submit>.trigger("focus")</BUTTON>
<BUTTONid=newtype=submit>.triggerHandler("focus")</BUTTON><BR><BR>
<INPUTvalue="ToBeFocused"type=text>
<SCRIPT>
$(function(){
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){
$("<span>Focused!</span>").appendTo("body").fadeOut(1000);
});
});
</SCRIPT>
jquery trigger的用法
trigger:在每一个匹配的元素上触发某类事件。
如$("form:first").trigger("submit"),触发第一个表单的提交事件
"在实际应用中我们该如何让它在触发事件时同时处理事件",我不知道兄台是如何理解"触发了事件"这几个字的,触发了事件,等同于程序即将执行这个事件,事情是一个方法体.
下面是data传参的一个例子,摘抄的
$("p").click( function(event, a, b){
//一个普通的点击事件时,a和b是undefined类型
//如果用下面的语句触发,那么a指向"foo",而b指向"bar"
});
$("p").trigger("click", ["foo","bar"]);
其实我们还可以给元素自定义事件,以下同样摘抄的
$("p").bind("myEvent", function(event, message1, message2){
alert(message1+''+ message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
myEvent并不是 WEB标准中预定义的行为(如onclick, onmouseover等等才是)
但在些例中自定义了 myEvent行为,并且通过 trigger手动触发了绑定在该行为上的事件.
感觉说得乱七八糟,自己也给转糊涂了
jquery中trigger有什么用
在前端页面开发中,我们有时候希望能自定执行一些人性化操作,比如鼠标不用点击自动就能点击等操作,利用传统的js语言需要编写复杂的代码才能实现此功能,这时候我们使用jquery的trigger()方法就能轻松实现.
trigger方法的功能是在所选择的元素上触发指定类型的事件,其调用的语法格式为:trigger(type,[data]),其中参数type为触发事件的类型,参数data为可选项,表示在触发事件时,传递给函数的附件参数.下面来举例说明下.
页面中创建一个文本框,并给文本一个默认值,当该页面加载时,自动获取文本框的值,显示在页面中,同时文本框处于选中状态.实现代码如下:
[javascript]view plaincopy
$(function(){
varoTxt=$("input");//获取文本框
oTxt.trigger("select");//自动选中文本框
oTxt.bind("btn_click",function(){
//自定义事件
vartxt=$(this).val();//获取自身内容
$("#div").html(txt);//显示在页面中
})
oTxt.trigger("btn_click");//自动触发自定义事件
})
jQuery如何使用自动触发事件trigger_jquery
有时候,需要通过模拟用户操作,来达到点击的效果,例如用户进入页面后
就触发click事件,而无需主动点击。
比如以下代码:
点击1
点击2
点击3
实现效果为'点击1'页面上将显示x1,'点击2'页面上显示x2?
但需要实现首次进入页面为默认是'点击1'
在jQuery中,可以使用trigger()方法完成模拟操作。
例如可以使用下面的代码来触发A链接的click事件。
$('a').first().trigger("click");
这样当页面加载完毕后,触发第一个A链接的click事件,页面将显示x1
触发自定义事件
trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。
例如为元素绑定一个”myEvent”的事件,jQuery代码如下:
想要触发这个事件,可以使用以下代码来实现:
$('#btn').trigger("myEvent");
传递数据
trigger(type,[data])方法有两个参数,
第1个是事件对象或者要触发的事件类型,
第2个参数是传递给事件处理函数的附加参数,以数组形式传递。通常可以通过传递一个参数给
回调函数来区别这次事件是代码触发的还是用户触发的。
下面是一个传递数据的例子。
OK,关于jquerytrigger和jquery trigger的用法的内容到此结束了,希望对大家有所帮助。