用jQuery判断当前所按的按键

标签:JavaScript, jQuery

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

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

用YQL跨域读取XML

标签:无

刚才在jQuery论坛看到版主提到YQL,于是试用了下,果然非常强大。

YQL与一般的查询语言不同,它是基于WEB的查询语言。它可以指定任意的网络文本资源(HTML、XML、JSON和CSV等),然后直接对该文件进行查询,并以XML或JSONP方式输出结果。
虽然听上去好像没什么了不起,但由于查询结果是直接以URL方式提供,而JSONP是可以很方便地跨域加载的,这就直接导致了可以用AJAX方式加载任意的网络文本资源。只要你愿意,你的网站可以随时与新浪之类的门户网站保持同步,以实时获取最新的新闻、财经等资讯,而服务器却不需要保存或下载这些资料。

解决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")); //测试一下
简要介绍一下思路。

jQuery选择器的上下文参数

标签:jQuery

刚发现jQuery选择器里可以一次填入多个参数,找了半天也没看到相关文档,于是自己测试了一下。

防止对话框打开新窗口

标签:JavaScript

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

« 看看还有什么好玩意