什么是$.widget
使用与所有 jQuery UI 小部件相同的抽象化来创建有状态的 jQuery 插件。
我的理解:就是创建jQuery插件的一种方式
小知识
jQuery参数:jQuery(selector, [content])
content:表示范围,上述其实就等于:jQuery(content).find(selector)
jQuery.extend
可以对jQuery添加一个扩展方法,比如:自定义一个打印方法
$.extends({
log: function(msg) {
let date = new Date().getTime()
console.log(date + ':' + msg)
}
})
// 使用
$.log('hahahah') // 1646644649675:hahahah
jQuery.fn
是一个jQuery插件方法,可以对某个dom元素进行扩展,比如:给当前节点的字体颜色修改为blue
$.fn.plugin = funtion(val) {
this.css('color', 'blue');
}
// 使用
$(a).plugin()
使用
可以创建一个jQuery插件
$.widget("ui.xxx", {
_create: function(){}
});
如上,ui表示命名空间,xxx表示插件的名称,使用的时候可以直接如下:
$('.dom').xxx()
改方法会自动调用xxx插件内部的_create方法进行初始化,应该就属于构造函数
传入的参数可以通过this.options来获取
jQuery.widget( name [, base ], prototype )
参数 | 类型 | 类型 |
---|---|---|
name | String | 要创建的小部件名称,包括命名空间。 |
base | Function() | 要继承的基础小部件。必须是一个可以使用 new 关键词实例化的构造函数。默认为 jQuery.Widget。 |
prototype | PlainObject | 要作为小部件原型使用的对象。 |
_create
相当于插件的构造函数,不接受参数,默认已经封装好了this.element和this.options
this.element
表示当前的插件自身dom实体