为了账号安全,请及时绑定邮箱和手机立即绑定

jquery 插件开发,属性,事件,方法写法?

jquery 插件开发,属性,事件,方法写法?

暮色呼如 2019-03-28 18:18:59
jquery 插件开发,属性,事件,方法写法?
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

jquery插件一般有三种开发方式:
通过$.extend()来扩展jQuery
通过$.fn 向jQuery添加新的方法
通过$.widget()应用jQuery UI的部件工厂方式创建
以下重点讲解第二种:
1、例如定义一个对象的写法:
var Haorooms= function(el, opt) {
this.$element = el,
this.defaults = {
'color': 'red',
'fontSize': '12px',
'textDecoration':'none'
},
this.options = $.extend({}, this.defaults, opt)
}
//定义haorooms的方法
haorooms.prototype = {
changecss: function() {
return this.$element.css({
'color': this.options.color,
'fontSize': this.options.fontSize,
'textDecoration': this.options.textDecoration
});
}
}
$.extend({}, this.defaults, opt)有{}主要是为了创建一个新对象,保留对象的默认值。



查看完整回答
反对 回复 2019-03-31
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

其实,所谓的方法,属性,事件,都是你自己总结出来的。对于纯正的JS和JQuary来说,这3个都是一种东西。我们常常用了简便写法,因此楼主才觉得这3者不同,其实这些统统都是变量。
只不过,如果变量是个参数,就是:
var temp = "怪蛋";
如果参数是个数组,那么就是:
var temp = {title:'newTab'};

而我们常见的函数,都会写成getVal(a,b,c){}其实写的更符合JS原生态的,是
var getVal = function(a,b,c){} 从这里看出,我们所谓的函数,其实和变量是一种东西。

因此所谓的$('#id').Tabs({onSelect:functuon(){}});这类情况,等于传入的是一个叫onSelect的变量,而这个变量刚好是一个函数类型而已。事实上这个onSelect原本并不存在,是你后来的插件里去调用了而已。你通过英文意思觉得这是“被选中”的意思,其实在这里,仅仅是一个名字而已。只有插件内部写到$(this).on("click",function(){});才真正调取到JS原本的event的click事件。而我们插件中常见的onSelect、onClick、onSuccess都是写插件的人按照自己的喜好和大家喜欢的名字而命名的。



查看完整回答
反对 回复 2019-03-31
  • 2 回答
  • 0 关注
  • 620 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信