jquery 事件处理handler函数的参数

jquery 事件处理handler函数的参数 

在如下的函数中,我们在处理jquery里经常使用:

  1. $( "#foo" ).bind( "click", function() {
  • alert( $( this

).text() );

  • });

click的handler处理函数一般为function(){},不传参数。那么,这个函数可以接收参数么,内置了什么对象,有什么返回值,怎么获得事件绑定的对象?

1、第一个参数event对象,在function函数里,实际上第一个参数是event

引用

The handler callback function can also take parameters. When the function is called, the event object will be passed to the first parameter.

2、事件参数event.data

给handler传递自己需要传入事件处理函数的参数

引用

var message = "Spoon!";

$( "#foo" ).bind( "click", {

msg: message

}, function( event ) {

alert( event.data.msg );

});

message = "Not in the face!";

$( "#bar" ).bind( "click", {

msg: message

}, function( event ) {

alert( event.data.msg );

});

3、获得事件绑定的DOM元素,

handler的this指向当前事件绑定的元素,大多数情况下,我们需要拿到该DOM元素,以便取值

或改变展示状态,这时该handler函数的this就是该dom元素。

如果不知道,我们一直在用event.target来取当取事件帮定的元素,实际经常取错,因为触发

该事件的event.target可能是实际绑定元素的内部元素,如

Js代码

  1. <div><p>点击一下</p></div>

如上所示,绑定事件到DIV上,实际P标签也能触发事件,这时event.target对象就不是原来绑定

事件的元素。

偶然发现的this指向绑定的dom原素,不得不佩服john,想得很充分,功能洽到好处。

4、事件传播和返回值

只要返回false,就代表.preventDefault()和.stopPropagation();停止事件传播。

无需再手动调用这再两个函数。

引用

Returning false from a handler is equivalent to calling both .preventDefault() and .stopPropagation() on the event object.

引用

JavaScript领域的神级人物,jQuery、《Pro JavaScript》与《JavaScript Secrets》的作者, Khan Academy计算机科学学院的院长John Resig,John Resig开发jQuery的时候还是大二的学生。 john resig 的对话 现在市面上有大量的JavaScript框架,在各自的官网上都号称是不可被击败的框架,JQuery跟他们相比,真正的优势和特点在哪,大家为什么选择用JQuery呢?   John Resig认为JQuery最大的优势在于完全关注于DOM,都是找到对象然后控制,在提供这些功能的时候文件大小非常小。比如说现在浏览器提供了各种各样硬件加速,随着浏览器变得越来越好,JS的性能也越来越好。   有与会者问到:jQuery的开发团队情况?   John Resig透露:有20多个人。jQuery Core的代码提交者有3个人。大家主要使用Git、github进行合作。   现场有同学还提了一个有趣的问题,John Resig会不会写起代码来忘我工作,会不会听摇滚乐。Resig回答,会工作到很晚,更喜欢听爵士乐。此外,不少与会者还就很多jQuery开发过程中实践情况与John Resig展开了沟通(付江)

John Resig

原文地址 http://techfoxbbs.com/blog-1-4.html

时间: 2024-10-13 05:08:47

jquery 事件处理handler函数的参数的相关文章

jQuery ajax error函数的参数(交互错误信息的获取)

一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown).常见调用代码如下: $.ajax({ url: '/Home/AjaxGetData', success: function (data) { alert(data); }, error: function (jqXHR, textStatus, errorThrown) { /*错误信息处理*/ } }); 这里对这三个参数做详细说明.

jquery事件处理函数的参数问题:event对象和自定义参数

jquery中如果需要给按钮绑定click事件处理函数,那么我们可以使用如下的代码: $("#button1").click( function() { alert("I was clicked."); } ); 一般我们都会按照上面的写法,注册事件处理函数,很少给处理函数传递参数.但是如果我们需要事件更详细的信息,比如事件发生时鼠标的位置等,那么我们就必须要使用事件对象了. 在IE和FF浏览器下,我们可以使用event对象拿到更多的信息.在jquery中拿到eve

给wxPython事件处理函数传递参数

给wxPython事件处理函数传递参数 2014-04-30 07:47:08segmentfault-博客--点击数:39 最近捣鼓Python,也就自然捣鼓上了wxPython.我曾经用过Qt和Gtk+写GUI,但几乎所有的Python书都告诉我说最好用的是wxPython,我没有尝试PyQt和PyGtk就开始研究wxPython了.在Qt和Gtk+之间我更喜欢Qt,因为它跨平台做得很好,而且商业化也不错.但wxWidget给人的感觉就完全不同了. 如果说wxWidgets相对于Qt有什么优

javascript如何给事件处理函数传递参数

javascript如何给事件处理函数传递参数:在应用中可能需要给注册的事件处理函数传递参数,但是会发现好像无法实现直接传递,下面就简单介绍一下如何给事件处理函数传递参数.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&

Jquery中淡入淡出效果fadeIn()、fadeOut()、fadeToggle()、fadeTo()学习引发的思考----关于Jquery函数传参数

一.基本语法 1.fadeIn淡入.fadeOut淡出.fadeToggle淡入淡出切换(已经淡出点击淡入,或者相反): $(selector).fadeIn(duration,complete); $(selector).fadeOut(duration,complete); $(selector).fadeToggle(duration,complete); 可选的 speed 参数规定效果的时长.它可以取以下值:"slow"(200ms)."fast"(600

jquery 源码学习(四)构造jQuery对象-工具函数

jQuery源码分析-03构造jQuery对象-工具函数,需要的朋友可以参考下. 作者:nuysoft/高云 QQ:47214707 EMail:[email protected] 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布. jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪

jquery的on()函数

on函数是在jquery 1.7 加入的实际应用例子:http://keleyi.com/a/bjac/scdm44l9.htm 描述: 在选定的元素上绑定一个或多个事件处理函数. 定义:.on( events [, selector ] [, data ], handler(eventObject) ) 参数:events类型: String一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin",

【转】jQuery on()选择器函数

on()函数用于为指定元素的一个或多个事件绑定事件处理函数. 此外,你还可以额外传递给事件处理函数一些所需的数据. 从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind(). delegate(). live()等事件函数. 即使是执行on()函数之后新添加的元素,只要它符合条件,绑定的事件处理函数也对其有效. 此外,该函数可以为同一元素.同一事件类型绑定多个事件处理函数.触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数.

详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数.而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明. 1 $.get("data.php",$("#firstName.val()")