jquery写插件的几种写法总结(持续补充中)
1:jQuery.fn.extend(object); 给jQuery对象添加方法。
js封装文件示例
$.fn.extend({
alertWhileClick:function(){
$(this).click(function(){
alert($(this).val());
});
}
});
HTML中的js调用
$(“#input1″).alertWhileClick();
HTML代码
<input id=”input1″ type=”text”/>
2:jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。
js封装文件示例
$.extend({
add:function(a,b){return a+b;}
}); //便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,
HTML中的js调用
$.add(3,4); //return 7
3:自定义的jQuery类以及类方法和类成员
js封装文件示例
(function ($) {
/* 公共插件定义 */
$.cloud_checkbox = {
// var checked_list = ""; //这个是私有变量,外部无法访问
/* checkbox全选、取消全选、反选 */
checked_all: function(table_id, name_all, name) {
/*
* table_id: checkbox所在表的id
* name_all: 负责全选的checkbox的name(仅一个)
* name: 表内需要进行全选操作的checkbox的name(一组)
*/
$("#"+table_id+" .regular-checkbox[name="+name_all+"]").click(function() {
var v = $(this).prop(‘checked‘);
$("#"+table_id+" .regular-checkbox[name="+name+"]").prop(‘checked‘,v);
$("table .regular-checkbox[name=‘table_list_check‘]").change();
});
},
/* 获取所有选中checkbox的值 */
get_checked_val: function(name) {
/*
* name: 需要获取选中值的checkbox的name(一组)
*/
var val_list = []
$(".regular-checkbox[name="+name+"]").each(function() {
if($(this).prop(‘checked‘)) {
val_list.push($(this).val());
}
});
return val_list;
},
single_checked:function(table_id, name_all, name, id){
if( !$("#"+id).attr("checked")){
$("#"+table_id+" .regular-checkbox[name="+name_all+"]").attr("checked", false);
}else{
var flag = true;
$(".regular-checkbox[name="+name+"]").each(function() {
if(!$(this).attr(‘checked‘)) {
flag = false;
$("#"+table_id+" .regular-checkbox[name="+name_all+"]").attr("checked", false);
return false;
}
});
if(flag == true){
$("#"+table_id+" .regular-checkbox[name="+name_all+"]").attr("checked", "checked");
}
}
}
};
})(jQuery);
HTML中的js调用
$.cloud_checkbox.checked_all(‘table_list‘, ‘table_list_checkall‘, ‘table_list_check‘);
var val_list = $.cloud_checkbox.get_checked_val(‘table_list_check‘);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。