jQuery 如何自定义一个函数,并且同时带回调函数的

jQuery 如何自定义一个函数,并且同时带回调函数的,第1张

其实回调函数没那么复杂的,在js里面,function你可以当成一个普通的参数。只要后面加上(),就表示调用这个函数了。

再看看下面这个例子

从上面的例子也可以看出来,其实每定义一个函数,都将函数入容器的栈,index就是函数名。默认是在window下,因此可以把字符串丢过去,在window下也可以通过字符串调用到这个回调函数。

带参数的话,可以采用上面的方式。

再复杂点的可以这个样子。当前前端开发中,这种方式很常见。这几种方式你都可以参考一下

我们知道,as3的Alert控件可以实现d出信息框的效果(有点类似Javascript的alert函数),通常调用Alert.show方法来实现,当我们要完成一个确认 *** 作(比如删除显示列表中的某一条目)时,通常编写如下代码

Alert.show(是否删除该条目?,确认删除,Alert.YES|Alert.NO,this,callbackFunction)

//代码执行时将d出一个对话框,并显示YES和NO两个按钮,callbackFunction 是点击按钮后执行的回调函数

private function callbackFunction(event:CloseEvent):void{

if(Alert.YES == event.detail){

//当点击YES时的 *** 作}else{

//当点击NO时的 *** 作}}在上面的示例代码中,callbackFunction只包含event一个参数,如果我们需要传递更多的参数,貌似不太好办了,实际上,我们可以通过在callbackFunction函数外再封装一层函数的方法来实现。

比如我们要在callbackFunction函数中传递一个字符串'id is:'和一个整型15,实现方法请参见如下代码:

var str:String = 'id is:'

var num:int = 15

Alert.show(是否删除该条目?,确认删除,Alert.YES|Alert.NO,this,function(e:CloseEvent):void{callbackFunction(e,str,num)})

private function callbackFunction(event:CloseEvent,str:String,num:int):void{

if(Alert.YES == event.detail){

//当点击YES时的 *** 作

Alert.show(str+num.toString(),您点击了YES按钮)}else{

//当点击NO时的 *** 作}}

运行上面的示例代码,当您在d出的信息框上点击YES按钮后,将d出一个标题为您点击了YES按钮,内容为id is 15的信息框,而点击NO按钮则没有任何 *** 作。这样,既可以捕获CloseEvent事件,又可以将我们业务逻辑中变量的值带到回调函数中,当我们要实现删除某个列表项的功能时,就变得很方便了。

jquery ajax 回调函数只要配置正确就可以使用

$.ajax({ url: "test.html", context: document.body, success: function(){

alert("回调函数")

}})

使用代码如上

回调函数实现的机制是:

⑴定义一个回调函数;

⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;

⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。

知道拓展

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的 *** 作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。

回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。


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

原文地址: http://outofmemory.cn/bake/11954842.html

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

发表评论

登录后才能评论

评论列表(0条)

保存