高分!怎么为设计HTC控件的onfocus和onblur事件?
是是非非 2004-10-25 08:54:53 一个HTC控件里面有三个文本框
偶是这么想的,每个文本框都有一个单独的变量来记录focus和blur状态
每次改变这些状态时都检测这三个变量,如果改变前全部为false就fire onfocus事件
如果改变后全部为false就fire onblur事件
…………
可是,并不象我想象的那样,从一个文本框切换到另外一个文本框的时候同时fire onchange 和 onblur事件了,why?
=============================
PS:如果HTC控件里用的是DIV,SPAN之类本身没有onfocus和onblur事件的HTML对象又该如何设计它的onfocus和onblur?
=============================================================================
部分代码如下
=============================================================================
<SCRIPT LANGUAGE="JSCRIPT">
<!--
var m_FocusL=false;
var m_FocusW=false;
var m_FocusH=false;
//省略代码若干行…………………………
function __AddFocus(strInd){
if(m_FocusL==false && m_FocusW==false && m_FocusH==false){
var _event=createEventObject();
idOnFocus.fire(_event);
}
if(strInd=='L') m_FocusL=true;
if(strInd=='W') m_FocusW=true;
if(strInd=='H') m_FocusH=true;
}
function __DecFocus(strInd){
if(strInd=='L') m_FocusL=false;
if(strInd=='W') m_FocusW=false;
if(strInd=='H') m_FocusH=false;
if(m_FocusL==false && m_FocusW==false && m_FocusH==false){
var _event=createEventObject();
idOnBlur.fire(_event);
}
}
//省略代码若干行…………………………
oLength.onfocus=function (){this.select();__AddFocus('L');}
oLength.onblur=function (){__DecFocus('L');}
//省略代码若干行…………………………
oWidth.onfocus=function (){this.select();__AddFocus('W');}
oWidth.onblur=function (){__DecFocus('W');}
//省略代码若干行…………………………
oHeight.onfocus=function (){this.select();__AddFocus('H');}
oHeight.onblur=function (){__DecFocus('H');}
//省略代码若干行…………………………
//-->
</SCRIPT>