给jquery扩展方法
效果:
/** * 在jquery对象上扩展一个loadex方法,实现可以同步加载服务器数据 * 使用示例: * $("#head").loadex("inc/header.html",null,null,false); * $("#foot").loadex("inc/footer.html",null,null,false); * */ jQuery.fn.loadex=function(_url,data,callback,_async){ var loader = this;//这里的this就是上面示例中的"#head" //构造发送数据选项 var sendOptions = { type:"GET", url:_url, dataType:"html" }; if (data){ sendOptions.data = data; } //如果没有传递异步值那么默认为异步 if(!_async){ _async = true; } //设置是否异步 sendOptions.async=_async; //设置回调函数 sendOptions.success=function(html){ loader.html(html); if (callback){//如果传递了有效的回调函数则回调 callback(html); } } $.ajax(sendOptions);//发送请求 }
//jQuery命名空间上扩展方法(静态方式) jQuery.extend({ //获得文本字节长度 getByteCounts:function(str){ if(!str || str == "") return -1; return jQuery.trim(str).replace(/[^\x00-\xff]/g,"**").length; } });
第一种通过对象$("***").loadex(xx,xxx,xxx,xxx)调用。
第二种通过$.getByteCounts(str)的方式调用。
第二种通过$.getByteCounts(str)的方式调用。