现在位置:首页->学习专题->WAP&WML无线网站技术
Netscape中的keyCode和srcElement、returnValue
作者:Truly 日期: 2006-10-11 21:48:28 访问次数:出处:blog
 显示选项:自动滚屏[左键停止]

 为了兼容Netscape,js中对事件的捕捉要做适当的修改

ie中的event.keyCode和event.srcElement在Netscape中是不能使用的。

Netscape中重点是
document.captureEvents(Event.KEYDOWN);

完整代码是:
var ns4 = (navigator.appName=="Netscape")? true:false;
var ie4 = (document.all)? true:false;
function keyDown(s)
 { 
   if (ns4) {
    var Key=e.which;
   }
   else if (ie4) {
    var Key=event.keyCode;
   }
   alert(Key);
 }
 if (ns4) document.captureEvents(Event.KEYDOWN);
 document.onkeydown = keyDown;

event.srcElement在Netscape中则可以使用Event.target来代替。
以上代码可以同时工作于IE 和 Netscape。


在IE中屏蔽掉某些键,当判断出要屏蔽的键后,可以用:window.event.returnValue=false;

在NS中event.preventDefault();

function isIE(){
 var agentStr=navigator.userAgent;
 if(agentStr.indexOf("MSIE")!=-1)
 {
  return true;
 }
 else{
  return false;
 }
}

function checkInt(evt){
 evt = evt ? evt : (window.event ? window.event : null);
 var key;
 key=isIE()?evt.keyCode:evt.which;
 if (key < 48 || key > 57){
  if(isIE()) evt.returnValue = false;
  else evt.preventDefault();
 }
}

<INPUT name="LineHeight" id="LineHeight" value="20" size=7 onkeypress="checkInt(event)" />

⊕相关文章
  • ·tomcat全攻略
  • ·WML初级教程之从实际应用中了解WML
  • ·无线标记语言(WML)之WMLScript函数库(三)
  • ·无线标记语言(WML)之WMLScript函数库(二)
  • ·无线标记语言(WML)之WMLScript函数库(一)
  • ·无线标记语言(WML)基础之WML编程方法(五)