Aug28

JavaScript之trim方法三则

Author: leeon  Click: 47   Comments: 1 Category: javascript  Tag: trim

ECMAscript 5规定了trim的原生方法,但老的浏览器是不支持的。现提供三种trim的方法来删除字符串头尾的空格。

方法一:

[code="js"]
function trim(text){
return text.replace(/^\s+|\s+$/g,"");
}
[/code]

此方法性能最差,但是编码简单。

方法二:

[code="js"]
function trim(text){
return text.replace(/^\s+/,""),replace(/\s+$/,"");
}
[/code]

较第一种方法性能稍好。

方法三:

[code="js"]
function trim(){
text = text.replace(/^\s+/,"");
for(var i=text.length-1;i>=0;i-){
if(/\S/.test(text.charAt(i))){
text = text.substring(0,i+1);
break;
}
}
}
[/code]

此方法在大规模字符串中性能最好

Aug12

【原创】获取jQuery中Ajax函数的返回值的方法

Author: leeon  Click: 223   Comments: 1 Category: javascript  Tag: jquery,javascript,ajax

今天在写jquery的ajax方法的时候想获取回调函数中的返回值,但是怎么也获取不到,因为是jquery的方法中嵌套jquery的方法,导致作用域也不好使变量传递数据。

比如像如下的代码:

[code="js"]
$("talbe>td").each(function(){
.........
$.get('xxxx',function(data){
return xxxxx;
});
.........
});
[/code]

在这种情况下想获取$.get方法中回调函数的return的话就很困难,其实我们可以换种方法来解决这个问题,为何不把data的数据提交到回调函数以外的地方进行处理,这样就会避免内层的数据无法向外层传递。

查看jquery手册发现有一种比较好的解决方案:

[code="js"]
var str = $.ajax({url:xxxx,type:'GET',async:false,cache:false}).responseText;
[/code]

这样就可以通过ajax来获取返回值,注意这里使用了async:false  jQuery中的解释是:

 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

Jul8

避免onDbClick事件触发时不触发onClick事件

Author: leeon  Click: 93   Comments: 0 Category: javascript  Tag: ondbclick,onclick

避免触发ondbclick的时候触发onclick,可以利用javascript延迟的机制来实现。

思路如下:

 1、声明一个全局的计时器变量如:clickTimer
 2、在代理单击事件里设置计时器,默认220毫秒之后触发真正的单击事件处理函数
 3、在双击事件里判断计时器变量,如果该变量不为NULL,则说明在触发该双击事件前触发了单击事件,取消计时器,因为真正的单击事件处理函数在220毫秒之后才会触发,所以在这个时候结束定时器,则真正单击事件处理函数不会被执行。

[code="js"]
var timerClick=null;
//单击事件代理
function _onNodeClick(id){
//onNodeClick才是真正的单击事件处理函数
timerClick=window.setTimeout("onNodeClick('"+id+"')",220);
}
//双击事件处理函数
function _onNodeDbClick(id){
if(timerClick){
window.clearTimeout(timerClick);
}
}
[/code]

Jan13

jquery中Ajax事件小技巧

Author: leeon  Click: 328   Comments: 0 Category: javascript  Tag: jquery
jquery中绑定了ajaxComplete ajaxStart ajaxSend之类的ajax事件后,记得在事件处理完后解绑ajax事件,利用jquery的unbind()函数即可

分类

标签

归档

最新评论

vls在23:17:41评论了
JavaScript之trim方法三则
vls在19:27:29评论了
【原创】获取jQuery中Ajax函数的返回值的方法
zxfredhat在12:28:58评论了
编译sasl2出现digestmd5.c报错信息的解决方法
zxfredhat在12:26:35评论了
编译sasl2出现digestmd5.c报错信息的解决方法
MR。扯在17:11:22评论了
修改windows7中的OEM信息

我看过的书

链接

其他

访问本站种子 本站平均热度:293 c° 本站链接数:41 个 本站标签数:154 个 本站被评论次数:20 次