高分!怎么为设计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>
...全文
98 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
是是非非 2004-10-26
  • 打赏
  • 举报
回复
up
是是非非 2004-10-25
  • 打赏
  • 举报
回复
to fason(咖啡人生)
我上面的那样为什么不行?
ttyp 2004-10-25
  • 打赏
  • 举报
回复
设置整个控件的是否获得焦点的全局变量,在各控件获得失去焦点时判断它
DIV,SPAN之类本身没有onfocus可以考虑用onclick事件获得焦点
fason 2004-10-25
  • 打赏
  • 举报
回复
设置一个全局的变量来记录当前对象
是是非非 2004-10-25
  • 打赏
  • 举报
回复
up
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-25 08:54
社区公告
暂无公告