博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

html控件的自定义事件

Posted on 2007-06-01 12:31  faib  阅读(1038)  评论(1编辑  收藏  举报

asp.net在做控件开发的过程中,少不了要输出一些html控件,并且有时还会实现些事件来满足控件的需求。比如在AutoCompleteBox控件中,在input上定义了一个事件:onchanged,此事件在列表框选择项后触发。下面来说说它的原理。

初始化控件
<script>
function AutoCompleteBox_Init(box)
{
    box._onchanged = function ()
    {
     if(this.onchanged)
      if(typeof this.onchanged == "string")eval(this.onchanged); else this.onchanged();
//如果是string,说明是从属性来的,如果是function,则是后面定义的handler
    }
}
AutoCompleteBox_Init(document.all.txt);
</script>
在定义txt时候可以加上此事件的handler:
<input id='txt' onchanged='dolist()'>
<script>
function dolist()
{
..........
}
</script>

当然也可以在是后添加onchanged:
<script>
document.all.txt.onchanged = function()
{
........
}
</script>