也许这个时候很多大佬就去在css+div样式布局里面做文章了。正确的解决方案应该是封装一个阻止事件冒泡的方法。一听说要“防事件冒泡”可能大家耳熟能详,什么是冒泡这种理论性的东西,笔者不想多说。而今就有一个实际的项目摆在眼前。
首先你需要在js层面上搞个方法封装起来:
function stopPropagation(e) { e = e || window.event; if (e.stopPropagation) { // W3C阻止冒泡方法 e.stopPropagation(); } else { e.cancelBubble = true; // IE阻止冒泡方法 } }
紧接着你在子事件方法里加入一个
stopPropagation()
语句在运行过程中间卡着就行了,注意,因为封装体里已经尝试去拿window.event对象, 所以无需特意传递event参数。