jquery中trigger有什么用

jquery中trigger有什么用,第1张

在前端页面开发中,我们有时候希望能自定执行一些人性化 *** 作,比如鼠标不用点击自动就能点击等 *** 作,利用传统的js语言需要编写复杂的代码才能实现此功能,这时候我们使用jquery的trigger()方法就能轻松实现.

trigger方法的功能是在所选择的元素上触发指定类型的事件,其调用的语法格式为:trigger(type,[data]),其中参数type为触发事件的类型,参数data为可选项,表示在触发事件时,传递给函数的附件参数.下面来举例说明下.

页面中创建一个文本框,并给文本一个默认值,当该页面加载时,自动获取文本框的值,显示在页面中,同时文本框处于选中状态 .实现代码如下:

[javascript] view plain copy

$(function(){

var oTxt=$("input")//获取文本框

oTxt.trigger("select")//自动选中文本框

oTxt.bind("btn_click",function(){

//自定义事件

var txt=$(this).val()//获取自身内容

$("#div").html(txt)//显示在页面中

})

oTxt.trigger("btn_click")//自动触发自定义事件

})

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() ,浏览器默认动作将不会被触发,只会触发绑定的动作: 

<BUTTON id=old type=submit>.trigger("focus")</BUTTON>

<BUTTON id=new type=submit>.triggerHandler("focus")</BUTTON><BR><BR>

<INPUT value="To Be Focused" 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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7315143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存