首页 > 代码库 > 自己写的javascript绑定模型 基于jquery
自己写的javascript绑定模型 基于jquery
//绑定模型 $.bind = {}; //绑定基础 $.bind.base = function (get, set) { return function (o) { if (typeof (o) != 'undefined') { set(o); }; return get(); }; };
//绑定文本 $.bind.text = function (element,func) { var $el = element; return $.bind.base(function () { return $el.text(); }, function (o) { $el.text(o); if (typeof (func) == 'function') { func($el, o); }; }); }; //绑定值 $.bind.val = function (element, func) { var $el = element; return $.bind.base(function () { return $el.val(); }, function (o) { $el.val(o); if (typeof (func) == 'function') { func($el, o); }; }); }; //绑定html $.bind.html = function (element, func) { var $el = element; return $.bind.base(function () { return $el.html(); }, function (o) { $el.html(o); if (typeof (func) == 'function') { func($el, o); }; }); };
//绑定bool $.bind.bool = function (element, func) { var $el = element; var obj = true; return $.bind.base(function () { return obj; }, function (o) { obj = o; if (typeof (func) == 'function') { func($el, o); }; }); }; //根据bool 增加 移除css $.bind.cssClass = function (element, css, check, func) { var $el = element; var obj = true; return $.bind.base(function () { return obj; }, function (o) { if (check && obj == o) { return; } obj = o; if (o) { $el.addClass(css); } else { $el.removeClass(css); } if (typeof (func) == 'function') { func($el, o); }; }); }; //根据bool 显示 隐藏 $.bind.visibility = function (element, check, func) { var $el = element; var obj = true; return $.bind.base(function () { return obj; }, function (o) { if (check && obj == o) { return; } obj = o; if (o) { $el.show(); } else { $el.hide(); } if (typeof (func) == 'function') { func($el, o); }; }); };
//绑定隐藏值 $.bind.hide = function (func) { var obj = true; return $.bind.base(function () { return obj; }, function (o) { obj = o; if (typeof (func) == 'function') { func(o); }; }); }; //绑定数组 $.bind.array = function (element, func) { var array = []; var $el = element; return $.bind.base(function () { return array; }, function (o) { array = o; $el.empty(); if (typeof (func) == 'function') { $.each(o, function (i, v) { func($el, i, v); }); }; }); }; //绑定对象 $.bind.obj = function (o, func) { var list = []; var obj = {}; for (var item in o) { var temp = {}; temp.o = item; var temp_obj = o[temp.o]; switch (temp_obj.t) { case 'array': temp.obj = $.bind.array(temp_obj.el, temp_obj.f); break; case 'text': temp.obj = $.bind.text(temp_obj.el, temp_obj.f); break; case 'val': temp.obj = $.bind.val(temp_obj.el, temp_obj.f); break; case 'html': temp.obj = $.bind.html(temp_obj.el, temp_obj.f); break; case 'bool': temp.obj = $.bind.bool(temp_obj.el, temp_obj.f); break; case 'hide': temp.obj = $.bind.hide(temp_obj.f); break; case 'cssClass': temp.obj = $.bind.cssClass(temp_obj.el, temp_obj.css, temp_obj.ck, temp_obj.f); break; case 'visi': temp.obj = $.bind.visibility(temp_obj.el, temp_obj.ck, temp_obj.f); break; case 'visibility': temp.obj = $.bind.visibility(temp_obj.el, temp_obj.ck, temp_obj.f); break; default: } list.push(temp); }; return function (o) { if (typeof (o) != 'undefined') { obj = o; $.each(list, function (i, v) { v.obj(o[v.o]); }); if (typeof (func) == 'function') { func(o); }; }; return obj; }; };
自己写的javascript绑定模型 基于jquery
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。