关于事件委托的问题 事件委托是一个很好解决一个页面出现很多同类监听器的方法,但是我在使用blur事件的时候,我把blur事件注册在form元素上然后通过判断event.target来分情况处理,但是不起作用无奈只能通过循环在每个input元素上注册blur事件这是为什么呢难道不是所有的元素都支持所有事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 document.forms[0].addEventListener('blur',handler,false); function handler(e){ switch(e.target.name){ case 'name':alert('name input element'); break; case 'age':alert('age input element'); break; default:alert('not found'); } } document.forms[0].addEventListener('click',clickHandler,false); function clickHandler(e){ switch(e.target.name){ case 'name':alert('name input element'); break; case 'age':alert('age input element'); break; default:alert('not found'); } } blur事件和click事件处理完全相同,但是blur事件就是没用 javascript有委托这种说法吗?如果硬要说有, 那函数可以当成是委托 javascript 有delegate这种说法,问题的关键是blur 不会冒泡,不会向上传播。所以会出现你这样的问题,考虑用focusOut,但得扩展使其兼容。 求在第一个tr外围增加<thead></thead>的JQUERY方法 点击超链接打开文件夹 不知道为什么加载不了图片?请高手试试 关于DIV的位置问题,求救 浏览器能否判断用户输入的是中文字符还是英文字符?javascript能实现吗? 有没有人能实现这个具有挑战性的问题(事件+思想)(续) JS的下拉菜单问题! 关于打开页面 如何才能控制IE工具栏的“查看”里的“文字大小” 用javascript有没有简单的办法取得3天后的年月日,而不用进行闰年之类的判断 关于网页中的jqgrid表格刷新问题 js cookie问题
function handler(e){
switch(e.target.name){
case 'name':alert('name input element');
break;
case 'age':alert('age input element');
break;
default:alert('not found');
}
}
document.forms[0].addEventListener('click',clickHandler,false);
function clickHandler(e){
switch(e.target.name){
case 'name':alert('name input element');
break;
case 'age':alert('age input element');
break;
default:alert('not found');
}
}
如果硬要说有, 那函数可以当成是委托