Firefox中Javascript使用event对象需要注意的问题

    最近,有人向我反映,用Firefox访问博客园,无法使用搜索,输入搜索内容后无法提交。博客园的搜索功能是通过javascript提交的,代码如下:

<script language="JavaScript">
function SearchGoogle(key,evt)
        
{
            
if(event.keyCode==13 || event.keyCode==0)
            
{
                
var keystr = encodeURIComponent(key.value);
                url 
= "http://www.google.com/search?q=";
                url 
= url+keystr;
                url 
+= "&ie=UTF-8&oe=GB2312&hl=zh-CN&domains=www.cnblogs.com&sitesearch=www.cnblogs.com";
                window.location
=url;
                
            }

        }

</script>
<H2>Google站内搜索</H2>
<h4><input style="WIDTH: 130px" type="text" name="q" onkeydown="SearchGoogle(q)">&nbsp;<input onclick="SearchGoogle(q)" type="button" value="搜索" name="sa">
</h4>


这样的代码在IE中可以正常运行,但在Firefox中却出现event is not defined的错误。
因为在Firefox中使用了不同的事件对象模型,不同于IE Dom,用的是W3C Dom。
解决方法请看如下代码:

<script language="JavaScript">
function SearchGoogle(key,evt)
        
{
            
if(evt.keyCode==13 || evt.keyCode==0)
            
{
                
var keystr = encodeURIComponent(key.value);
                url 
= "http://www.google.com/search?q=";
                url 
= url+keystr;
                url 
+= "&ie=UTF-8&oe=GB2312&hl=zh-CN&domains=www.cnblogs.com&sitesearch=www.cnblogs.com";
                window.location
=url;
                
return;
            }

        }

</script>
<H2>Google站内搜索</H2>
<h4><input style="WIDTH: 130px" type="text" name="q" onkeydown="SearchGoogle(q,event)">&nbsp;<input onclick="SearchGoogle(q,event)" type="button" value="搜索" name="sa">
</h4>


posted on 2005-02-17 22:51 dudu 阅读(14881) 评论(9)  编辑 收藏 网摘

评论

#1楼  2005-05-10 09:09 ≈水♂水≈      

下面一个好象也没效果啊~`````   回复  引用  查看    

#2楼 [楼主] 2005-05-10 10:19 dudu      

可以啊!你试试, 在Firefox中, 可以正常使用博客园的搜索功能。   回复  引用  查看    

#3楼  2005-07-14 16:32 Chui Xue      

很奇怪的现象,直接用Firefox打开Cnblogs之后点击首页的Google查询是没有问题的,但是这段源码拷贝到本机测试就不行。当加上id="q"的时候才运行正常。还是应该使用id而避免使用name吧   回复  引用  查看    

#4楼  2005-07-31 15:08 Wudi [未注册用户]

event.keyCode   回复  引用    

#5楼  2005-08-18 10:14 dany [未注册用户]

W3C 推荐使用ID
document.getElementBydi()
  回复  引用    

#6楼  2007-01-25 13:54 神州软件园 [未注册用户]

神州软件园 http://www.sooft.org   回复  引用    

#7楼  2007-01-25 13:55 神州软件园 [未注册用户]

写得不错,很有帮助   回复  引用    

#8楼  2007-05-10 14:54 yoyo [未注册用户]

我写了一个函数:
<script>
function m(evt){
document.getElementById("area").innerHTML=evt.clientX +" , "+evt.clientY;

//document.getElementById("area").innerHTML= event.clientX;
}
</script>
<div id="area" style="font-size:36px;width:800px;height:600px;border:1px solid;" onmousemove="m(event);">d</div>

只是不明白原理,为啥非要加个“event”的参数?希望博主给与回复。直接发邮件或者去博客给我留言都可以,我的邮箱地址fesite(at)gmail(dot)com,谢谢
  回复  引用    

#9楼  2007-12-27 12:20 Sylvia.Liu [未注册用户]

谢谢。很有帮助。我在firefox中试验了,的确好使,帮我解决了一个大问题啊。
感觉这方面的参考资料不是很多,楼主能不能推荐一些写的比较详细的参考书啊?
  回复  引用    


发表评论



姓名 [登录] [注册] 
主页
Email (仅博主可见) 
验证码 *  验证码看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论   新用户注册   返回页首      

导航: 网站首页 社区 新闻 博问 闪存 网摘 招聘 .NET频道 知识库 找找看 Google站内搜索



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务

相关文章:

相关链接:

历史上的今天:
2004-02-17 学习一下C#中的as与is
2004-02-17 Abstract & Sealed Classes
 

导航

公告

人生的真正价值在于从何种程度与何种意义上摆脱自我!
明天继续更新评论功能
<2005年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

统计

与我联系

搜索

 

常用链接

留言簿

随笔分类

随笔档案

新闻分类

相册

HJ

朋友的博客

网站收藏

小组

友情链接

最新随笔

最新评论

阅读排行榜

评论排行榜

60天内阅读排行