window.onload=function(){
document.getElementsByTagName('form')[0].onclick=function(e){
e=e||window.event;
var src=e.srcElement||e.orginalTarget;
var txt=document.getElementById('txt');
switch(src.getAttribute('value')){
case '改变颜色':
txt.style.color='red';
txt.style.backgroundColor='#CCC';
break
case '改变宽高':
txt.style.width='300px';
txt.style.height='200px';
break
case '隐藏内容':
txt.style.display='none';
break
case '显示内容':
txt.style.display='block';
break
case '取消设置':
confirm('是否取消设置')?txt.removeAttribute('style'):'';
break
}
}
}
参照@mukewang_jiayou同学写的,最后的的取消设置用的是removeAttribute方法。
优点:写法优雅,不用在元素中绑定事件,实现元素与操作的分离,代码更加优雅。
缺点:直接绑定form表单的事件,通过判断事件来源来处理操作,后期不易拓展。
希望能有更好的写法得以借鉴。