$.fn.searchbox=function(){}是给jquery对象添加方法, $.fn.searchbox.methods = {}是什么意思呢

$.fn.searchbox=function(){}是给jquery对象添加方法, $.fn.searchbox.methods = {}是什么意思呢,第1张

$.fn表示的是jQuery的原型对象,'.'想必你知道了是什么意思。

$.fn.searchbox.methods={}意思是向jQuery原型中的searchbox这个对象添加一个叫做

methods的属性,而这个属性本事其实是一个对象。而searchbox表示的是一个函数,在JS中一切皆对象,当然包括函数本身,那么就可以为函数添加属性或者方法。

var a=function()

{

alert(arguments.callee.k)//这个其实就是相当于alert(a.k)

}

a.k=1

a()

不是有个构造函数extend么,可以自行添加方法。如:

//给对象添加新的方法。

function extend(object, data){

for(var key in data){

object[key] = data[key]

}

return object

}再或者用原生JS给web元素绑定事件

//绑定事件

function addEvent(el,evname,func){

if(el.attachEvent){

el.attachEvent("on"+evname,func)

}else if(el.addEventListener){

el.addEventListener(evname,func,true)

}else{

el["on"+evname]=func

}

}//解除绑定

function delEvent(el,evname,func){

if(el.removeEventListener){

el.removeEventListener(evname,func,false)

}else if(el.detachEvent){

el.detachEvent("on"+evname,func)

}else{

el["on"+evname]=null

}

}

你好!

jQuery中通过extend()用来进行扩展,而又有jQuery.extend()和jQuery.fn.extend()两种用法。

jQuery.extend() 可以理解为jQuery类的扩展;

jQuery.fn.extend() 可以理解为jQuery实例的扩展,类似$("div")这种叫做实例,jQuery插件多基于这种方式扩展;

修改了下你的代码,如下:

<!DOCTYPE HTML>

<html>

  <head>

    <meta http-equiv="Content-Type" content="text/html charset=utf-8" />

    <script src="./jquery-1.11.1.min.js"></script>

    <script>

      function test(){

         console.log('init')

      }

      //给jQuery类扩展一个名为obj的对象,将test赋值给它

      $.extend({

         obj:test

      })

      //为$.obj也就是前面的对象继续进行扩展,相当于为它追加了一个okay方法

      $.extend($.obj,{

         'okay':function(){

            console.log('okay')

         }

      })

      $(function(){

         $("button:eq(0)").click(function(){

            $.obj()

         })

         $("button:eq(1)").click(function(){

            $.obj.okay()

         })

      })

    </script>

  </head>

  <body>

    <button>测试test()</button>

    <button>测试okay()</button>

  </body>

</html>

只是对你的代码稍微做了调整,extend的使用都是基于jQuery对象的,不管是jQuery类或是jQuery实例。

希望对你有帮助!


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

原文地址:https://54852.com/bake/11719788.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存