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>
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)