jQuery中 trigger() & bind() 使用

trigger(type)

在每一个匹配的元素上触发某类事件。

返回值:jQuery

参数:

type (String): 要触发的事件类型

示例:

$(“p”).trigger(“click”)

1.trigger() 触发事件

这个方法是jQuery 1.3中新增的一个引起触发事件的函数。

这里的事件就如jQuery的帮助文档中的事件那一栏,如:click, mouseover, keydown 等有动作的js事件,而像show, hide这是效果不是事件。

2.为什么要用 trigger() ?

相信刚开始接触大家也都有这样的想法?

比如前台页面里有:<p id=”p1″>请点击这里!</p>

你希望加载页面时就执行这个事件给这个这p绑定了click事件(将下面的代码写在$(function(){});里面):

$(“#p1″).click(function(){

alert(“hello!”);

});

如果用trigger(),你就要写成这样:

$(“#p1″).click(function(){

alert(“hello!”);

}).trigger(click);

这样写不是更加麻烦了吗?可以这么说,但是用trigger()最大的好处就是它是可以传递参数进去的。例如:

bind() 定义和用法

bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。

将事件和函数绑定到元素

使用jquery也有近1年了,今天在看国外大牛代码突然发现一个地方没看明白,代码如下

$(window).bind('load.jcarousel', function() { windowLoaded = true; });

  也许我对jQuery的了解不多吧,自己也就看过一本jQuery的入门书,然后总是在工作中学习,碰着问题了就总结一点,学习一点...嘿嘿,也许为什么动不动公司招人就是1年以上工作经验什么的,确实实战才是能让人最快速提高的。

找到jQuery API,解释如下:

1.  一次可以绑定多个事件。如:

$('#foo').bind({
  click: function() {
    // do something on click
  },
  mouseenter: function() {
    // do something on mouseenter
  }
}); 

2.  任何作为type参数的字符串都是合法的;如果一个字符串不是原生的JavaScript事件名,那么这个事件处理函数会绑定到一个自定义事件上。这些自定义事件绝对不会由浏览器触发,但可以通过使用.trigger()或者.triggerHandler()在其他代码中手动触发。

3.  如果type参数的字符串中包含一个点(.)字符,那么这个事件就看做是有命名空间的了。这个点字符就用来分隔事件和他的命名空间。如:

$obj.bind('click.name', handler) 那么字符串中的 click 是事件类型,而字符串 name 就是命名空间

//myEvent为自定义事件名

$(“#p1″).bind(“myEvent”,function(event,str1,str2) {

alert(str1 + ‘ ‘ + str2);

});

$(“#p1″).trigger(“myEvent”,[“Hello”,”World”]);

也可以这样写:

$(“#p1″).bind(“myEvent”,function(event,str1,str2) {

alert(str1 + ‘ ‘ + str2);

}).trigger(“myEvent”,[“Hello”,”World”]);

时间: 2024-09-19 17:00:24

jQuery中 trigger() & bind() 使用的相关文章

jQuery中trigger()与bind()用法分析_jquery

本文实例讲述了jQuery中 trigger()与bind()用法.分享给大家供大家参考,具体如下: trigger(type) 在每一个匹配的元素上触发某类事件. 返回值:jQuery 参数: type (String): 要触发的事件类型 示例: 复制代码 代码如下: $("p").trigger("click") 1.trigger() 触发事件 这个方法是jQuery 1.3中新增的一个引起触发事件的函数. 这里的事件就如jQuery的帮助文档中的事件那一栏

jquery中trigger()无法触发hover事件的解决方法

  jquery中trigger() 方法触发被选元素的指定事件类型了,但有使用过程中会碰到一些问题了,下面我们一起来看看jQuery中trigger()触发hover事件疑问,希望对各位有帮助. 今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔. 1.trigger方法解释 官方是这么解释的: 复制代码 代码如下: Description: Execute all handlers and behaviors attached to the matched elements f

jQuery中trigger()方法用法实例_jquery

本文实例讲述了jQuery中trigger()方法用法.分享给大家供大家参考.具体分析如下: 此方法触发匹配元素指定类型的事件. 语法结构一:规定匹配元素被触发的事件类型. 复制代码 代码如下: $(selector).trigger(event,param1,param2,...) 参数列表: 参数 描述 event 规定指定元素要触发的事件. 可以是自定义事件(使用 bind() 函数来附加),或者任何标准事件. param 可选.传递到事件处理程序的额外参数. 额外的参数对自定义事件特别有

关于Jquery中的bind(),on()绑定事件方式总结_jquery

一.bind() 使用方式:$(selector).bind(event,data,function) event:必需项:添加到元素的一个或多个事件,例如 click,dblclick等: 单事件处理:例如 $(selector).bind("click",data,function); 多事件处理:1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout",data,function); 2.利用大括号灵活定

jquery中trigger()无法触发hover事件的解决方法_jquery

今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔. 1.trigger方法解释 官方是这么解释的: 复制代码 代码如下: Description: Execute all handlers and behaviors attached to the matched elements for the given event type. 用法: .trigger( eventType [, extraParameters] ) 其中eventType包含javascript内置的事件

jQuery中trigger 事件触发器的使用方法

定义和用法 trigger() 方法触发被选元素的指定事件类型. 触发事件 规定被选元素要触发的事件. 语法 $(selector).trigger(event,[param1,param2,...]) 例子  代码如下 复制代码 html <input id="result" type="hidden" value="0" /> js $(document).ready(function(e){     //自定义resultOK事

jQuery中的.bind()、.live()和.delegate()之间区别分析_jquery

DOM树 首先,可视化一个HMTL文档的DOM树是很有帮助的.一个简单的HTML页面看起来就像是这个样子: 事件冒泡(又称事件传播) 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行. 复制代码 代码如下: $('a').bind('click',function(){alert('that tickles!')}) 因此一个单击操作会触发alert函数的执行. click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素

jQuery中trigger()触发hover事件疑问

今天做一个项目,遇到了一个问题,是以前没有遇到过的,就此记上一笔. 1.trigger方法解释 官方是这么解释的: Description: Execute all handlers and behaviors attached to the matched elements for the given event type. 用法: .trigger( eventType [, extraParameters] ) 其中eventType包含javascript内置的事件.jQuery增加的事

jQuery中的bind绑定事件与文本框改变事件的临时解决方法_jquery

一直没什么兴趣看jQuery,就用自己那点不咋样的javascript硬撑着,今天写一个功能时想尝试一下,用bind注册事件时发现怎么都不好使 复制代码 代码如下: $("#txtStation").bind("onpropertychange", GetStationLevel); 然后onclick之类的都试了,没一个能用的,无奈去翻jQuery的API,都是鸟语我也看不懂具体说了点了,但是发现bind注册事件都是没有on的. 发现有change事件,试了试 复