jquery插件开发有几种 Jquery 插件,回调函数callback 被覆盖,这要怎么解决,或处理
jquery插件开发有几种
//类级别插件开发,主要是在jQuery中定义全局方法:
//第一种写法
jQuery.myFunc = function(str){
alert("直接在jquery中定义方法",str)
}
//调用方式  $.myFunc("hello!")
//第二种写法
jQuery.extend({
myFunc:function(str){
alert("extend扩展$的方法",str)
}
})
//调用方式  $.myFunc("hello!")
//第三种写法: 为了不污染全局,挂载一个对象作为命名空间,自定义的所有方法放在这里,保证jQuery全局安全。
jQuery.define={
myFunc:function(str){
alert("命名空间的写法",str)
}
}
//调用方式:$.define.myFunc("hello")
//以上三种是级别插件开发方式,不常用,从调用方式看出,他们是全局执行的,不需要绑定节点对象。
//对象级别插件开发:有规范模板
(function($){
$.fn.plugin = function(options){
var defaults = {
//各种默认参数
}
var options = $.extend(defaults,options) //传入的参数覆盖默认参数
this.each(function(){
var _this = $(this)  //缓存一下插件传进来的节点对象。
//执行内容
})
return $(this)   //把节点对象返回去,为了支持链式调用。
}
})(jQuery)
//调用方式 
$("selector").plugin({
//自定义参数,json格式
})
Jquery 插件,回调函数callback 被覆盖,这要怎么解决,或处理
callback重新命名一下就可以了。别什么方法的回调方法都叫callback,这样系统怎么可能知道你到底想调用哪个callback。一个叫callbacktest1,一个叫callbacktest2,进行一下区分。
jquery插件自定义按钮传参数
var pd = {
    title: "title1",
    width: "500px",
    clickBgHide: true,
    abc: 123,
    bts:{}
}
pd.bts[pd.abc] = function(){
    console.log("按钮"   pd.abc)
}
console.log(pd)
$("#dialogs").plugDialog(pd)
怎么加入jQuery插件
在html中引入jquery插件的方法有以下两种:
1:CDN引入,在head标签中加入下列代码