美文网首页
JavaScript学习-扩展(编写jQuery插件)

JavaScript学习-扩展(编写jQuery插件)

作者: LittleJessy | 来源:发表于2019-04-24 11:14 被阅读0次

扩展

给jQuery对象绑定一个新方法是通过扩展.fn对象实现的。 编写一个高亮显示的扩展highlight1(),如下: ![image.png](https://img.haomeiwen.com/i14459419/9dbde84071f833eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 函数内部的this在调用时被绑定为jQuery对象,所以函数内部代码可以正常调用所有jQuery对象的方法。 使用: ![image.png](https://img.haomeiwen.com/i14459419/0782b88471e1aa34.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 最后要return this,是因为jQuery对象支持链式操作,我们自己写的扩展方法也要能继续链式下去: ![image.png](https://img.haomeiwen.com/i14459419/d378ace02050199b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 优化:参数传递 ![image.png](https://img.haomeiwen.com/i14459419/cfb81da809cc1e02.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 用&& 和 || 短路操作符,总能得到一个有效值 ![image.png](https://img.haomeiwen.com/i14459419/c11b31f864201ad7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) jQuery提供的辅助方法.extend(target,obj1,obj2,...),把多个object对象的属性合并到第一个target对象中,遇到同名属性,总是使用靠后的对象的值,也就是越往后优先级越高:

image.png
最终版本:
image.png
编写一个jQury插件的原则:
  1. 给$.fn绑定函数,实现插件的代码逻辑;
  2. 插件函数最后要return this,以支持链式调试;
  3. 插件函数要有默认值,绑定在$.fn.<pluginname>.default上;
  4. 用户在调用时可传入设定值以便覆盖默认值;

特定元素扩展

使用filter()方法过滤
举个例子,现在我们要给所有指向外链的超链接加上跳转提示。
先写用户调用代码:


image.png

然后编写一个external扩展:


image.png

相关文章

网友评论

      本文标题:JavaScript学习-扩展(编写jQuery插件)

      本文链接:https://www.haomeiwen.com/subject/whuwgqtx.html