Live Query真是个不错的jQuery插件

标签:JavaScript, jQuery, 性能

jQuery的事件处理是非常强大的,然而美中不足的是,它只能对当前存在的jQuery对象绑定事件,这就使得动态创建的对象必须再次绑定事件。
虽然jQuery 1.3推出了live函数,可以自动捕捉新增对象的事件,不过支持的事件较少,且有时会因为其他插件未考虑live函数,没有让事件冒泡而使live失效。

用jQuery判断当前所按的按键

标签:JavaScript, jQuery

刚看到个问题,如何得知同时按下了哪几个键以及按键顺序(难道是格斗游戏的组合键?),其实jQuery实现起来是很简单的。

方法就是用一个外部的数组保存当前按键。
在触发keydown时,把keyCode push到数组里,并删除重复元素;触发keyup时,用$.grep从数组中删除该keyCode。

解决IE6的CSS背景闪烁问题

标签:CSS, JavaScript

今天遇到个奇怪的问题,网页本地测试没问题,但上传到GAE服务器上,用IE远程访问就会出现背景闪烁的问题了。

试了很多方法,包括更改DOCTYPE声明、编码、删除CSS样式和JavaScript效果,结果都没用。最后把背景图片换成本地路径,才发现不闪了…

用JavaScript的正则表达式获取页面URL参数

标签:JavaScript

今天看到有人问怎么获取URL中传递的参数,于是用正则表达式写了个通用的函数来处理:
function getParam(param) {
	var r = new RegExp("\\?(?:.+&)?" + param + "=(.*?)(?:&.*)?$");
	var m = window.location.toString().match(r);
	return m ? m[1] : ""; //如果需要处理中文,可以用返回decodeURLComponent(m[1])
}
alert(getParam("language")); //测试一下
简要介绍一下思路。

防止对话框打开新窗口

标签:JavaScript

之前写JavaScript代码时遇到一个问题,当使用showModalDialog或showModelessDialog打开一个对话框时,在这个对话框里执行任何跳转(包括点击超链接和更改window.location)或提交表单都会打开新窗口。
这是由于对话框的特殊性,不允许更改自身的window.location。而由于提交表单很可能是提交到另一个页面,于是便打开新窗口来执行提交了。
但有时候提交操作只需要在本窗口内执行即可,于是连执行window.close()这种操作都会打开新窗口,便显得很不合理了。

获取SkyDrive的外链地址

标签:JavaScript, Python

最近把东西移到SkyDrive去了,可是拿不到外链地址,也没法用迅雷下载,便稍微研究了一下。

JavaScript的闭包

标签:JavaScript

在某个jQuery的论坛看到有人问闭包是怎么回事,于是稍微介绍一下。

用JSONP调用Picasa API

标签:Google, JavaScript

最近发现那个图像上传服务每天都要用掉1G流量,有点吃不消,于是准备转战Picasa相册了。

实际上由于提供了Picasa软件,我也懒得使用它的API来上传了,毕竟要装的东西太多了,而且我懒得和XML打交道。
不过Picasa API还能做些别的事,然而文档上全是XML的。由于懒得处理跨域,所以我直接就无视了。
Google上搜索了一下,发现加上alt=json参数就能以JSON输出了,于是就尝试了一下。

« 看看还有什么好玩意