jQuery插件

393 字
2 分钟
jQuery插件
  • 我们可以扩展 jQuery 来实现自定义方法。这种方式也称为编写 jQuery 插件。
  • 在使用jQuery插件时,应该先引入jQuery库文件,然后在引用jQuery插件

扩展jQuery的工具方法#

扩展jQuery的工具方法,$.extend(object) 用来在jQuery命名空间上增加新函数:

//min方法返回一个较小值,max返回一个较大值
$.extend({
min: function (a, b) {
return a < b ? a : b
},
max: function (a, b) {
return a > b ? a : b
}
})
//使用
$.min(3, 5) //3
$.max(3, 5) //5

扩展jQuery对象的方法#

扩展jQuery对象的方法,$.fn.extend(object) 扩展 jQuery 对象来提供新的方法

$.fn.extend({
// checkAll() : 全选
checkAll: function () {
this.prop('checked', true) // this是jQuery对象
return this // this是jQuery对象
},
// unCheckAll() : 全不选
unCheckAll: function () {
this.prop('checked', false)
return this
},
// reverseCheck() : 全反选
reverseCheck: function () {
// this是jQuery对象
this.each(function () {
// this是dom元素
this.checked = !this.checked
})
return this
}
})
// 使用, 全选复选框,并将复选框的value更改为111
$(':checkbox[name=items]').checkAll().attr("value", "111")
  • 注:插件函数最后要 return this 以支持链式调用;

多库共存#

  • 问题 : 如果有2个库都有$, 就存在冲突

  • 解决 : jQuery库可以释放$的使用权, 让另一个库可以正常使用, 此时jQuery库只能使用jQuery了

  • API : jQuery.noConflict()

    //自定义js文件
    (function () {
    window.$ = function () {
    console.log('my lib $()...')
    }
    })()
    //调用
    // 释放$的使用权
    jQuery.noConflict()
    // 调用myLib中的$
    $()
    // 要想使用jQuery的功能, 只能使用jQuery
    jQuery(function () {
    console.log('文档加载完成')
    })

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

jQuery插件
https://sukksa.github.io/posts/jquery-cha-jian/
作者
Sukksa
发布于
2021-10-25
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Sukksa
记录前端学习与日常
公告
博客刚刚上线,内容还在慢慢补齐。欢迎随便逛逛~
分类
标签
最新动态
站点统计
文章
69
分类
16
标签
17
总字数
178,517
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录