jquery-core-$(fn)、插件$.fn

本文介绍了 jQuery 中 $(fn) 和 $.fn 的区别与用法,详细解释了编写 jQuery 插件时需要注意的关键事项,包括插件命名、方法附加、内部 this 指向等,并提供了插件开发的基本框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、$(fn) 

是$(document).ready(function(){})的简写。需要把所有$操作符写入。在DOM全部加载完后执行。

fn是参数

常用写法:$(function(){})

或: ( function(){})(jquery);  //??


2、$.fn

fn是参数,给jquery定义新的方法的方法名字

常用写法:$.fn = function(){}

调用:$.fn();

如:

       $.fo=function(){alert('fo');}

       $.fo();   //调用,弹出‘fo'


3、编写jquery插件需要注意的地方

   (1) 推荐的命名方法:jquery.[插件名].js

   (2) 所有的对象方法都应当附加到jquery.fn对象上面。

         所有的全局函数应当附加到jquery对象本身上。

    (3) 在插件内部,this指向的是当前通过选择器获取的jquery对象,而不像一般方法那样:内部的this指向的是DOM元素。

    (4) 可以通过this.each来遍历所有元素。

   (5) 所有方法或函数插件,都应当以封号结尾 。避免压缩出现问题。保险方式:在插件头部添加一个封号,以免压缩的不规范给插件带来影响。

   (6) 插件应该返回一个jquery对象,以保证插件的可链式操作。

   (7) 避免在插件内部使用$作为jquery对象的别名,而应当使用完整的jquery来表示,避免冲突。


4、jquery插件的机制

两个扩展jquery功能的方法:jquery.fn.extend();            jquery.extend()

jquery.fn.extend() 封装对象方法的插件。

jquery.extend()  封装全局函数的插件;选择器插件

(1)jquer.fn.extend()

 (2)jquery.extend() 

扩展已经有的objiect的对象:var newSrc = $.extend(dest,src1,src2,src3...)将后面几个合到dest中,返回值为合并后的dest。


使用命名空间:

避免变量名与其他jquery插件冲突:将一些方法封装到另一个自定义的命名空间。

jquery.myPlugin={

foo:function(){},

bar:function(param){}

};

采用命名空间的函数仍然是全局函数。

调用:

$.myPlugin.foo();

$.myPlugin.bar('hello');


二、jquery插件编写

写jquer插件,需要在$.fn对象后面增加一个属性名,这个属性名就是插件名称。

一般框架|:

(function($){

$.fn.myPlugin = function(){};

})(jquery);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值