代码调试本质及事件冒泡
由于最近一直在调试前台代码,在调试的过程中不断总结调试代码的本质,今天把总结的一些心得写下来,算是为自己提升代码调试能力做个总结吧。代码调试的本质总结来说就是务实:
- 启动环境时,要看是否将源文件完全编译到webapps中,若正常build,则会正常启动不报错
- 调试样式时,要立足前端HTML代码反推问题,不宜从后台代码漫无目的的排查,从结果找问题
- document添加键盘监听事件后无焦点按Enter键也会触发事件
—-冒泡阻断事件总结—————
冒泡阻断
冒泡事件代码:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<div><span><input value="click me"/></span></div>
<script type="text/javascript">
$("div").keypress(function(e){ alert('div'); });
$("span").keydown(function(e){ alert('span'); });
$("input").keydown(
function(e){ alert('input');
if(e.stopPropagation){
e.stopPropagation();
}else if(window.event){
window.event.cancelBubble = true;
}
});
$("span").keydown(function(e){
return false;
});
</script>
先触发keydown后触发keypress
return false 阻止后续所有事件
stopPropagation 阻止该事件的后续事件
</body>
</html>