very good good article
http://www.cnblogs.com/joylee/archive/2010/04/12/javascriptandfoucs.html
可能用jquery会简单点,可是我没有找到,
先上代码
function searchsub2(){
var str;
str=encodeURIComponent(document.getElementById("q").value);
//alert(str);
//var url = "/qq/?q="+str+"×tamp="+new Date().getTime();
//var url = "/q/"+str+"/?t="+new Date().getTime();
//var url="/q/"+str+"/"
var url="/q/"+str+".html"
window.location.href=url;
}
function keydownsearch(evt,callback)
{
evt = (evt) ? evt : ((window.event) ? window.event : "")
keyCode = evt.keyCode ? evt.keyCode : (evt.which ? evt.which : evt.charCode);
if (keyCode == 13) {
callback(); //搜索事件
}
}
调用的时候
<input type="text" value="搜搜你要的商品" name="q" id="q" onclick="tabchange()" onblur="inputreset()" onkeydown="keydownsearch(event,searchsub2)"/>
这里还有一个要点是type="text",如果在一个页面只部署这样一份代码可能没问题,但是要部署两份这样式的代码,如果type="submit"就会有问题,在ie下有,在ff下没有,我测的是这样,多亏上面链接文章中的提醒
总结:
1、页面回车事件尽量不要写在document.onkeydown中,这样只要回车就会首先触发改JS事件,一般写在文本框中。
<input type="text" onkeydown="keydownsearch(event)" />
2、页面中如没有为按钮某按钮为焦点,回车后首先执行的是表单提交,也就是<input type="submit" />的服务器事件
用的时候还是费了一些公司,
refference:
http://blog.sina.com.cn/s/blog_4cd978f90100lbco.html
http://www.cnblogs.com/Mainz/archive/2009/05/29/1491844.html