这个JS事件监听器不起作用了,怎么回事呢?
以下代码在上一个项目中用来监控 keydown 事件是有效的,为何改为监听 resize 就不行了呢?
$(function(){	
	//~~~~~~~~~~~~~~~~~~~~~ 窗体变化
	if(document.addEventListener){
         document.addEventListener("resize",resizeHandler,true);
     }else{
         document.attachEvent("onresize",resizeHandler);
     }
});
function resizeHandler(event)
{
	alert("重置尺寸事件"); //这语句没有执行到
	var e = event || window.event;
//阻止冒泡
     if(e.preventDefault) e.preventDefault();
     else e.returnValue = false;
     if(e.stopPropagation) e.stopPropagation();
     else e.cancelBubble = true;
}
------解决方案--------------------$(function(){	
//~~~~~~~~~~~~~~~~~~~~~ 窗体变化
if(document.addEventListener){
 window.addEventListener("resize",resizeHandler,true);
 }else{
 window.attachEvent("onresize",resizeHandler);
 }
});
function resizeHandler(event)
{
alert("重置尺寸事件"); //这语句没有执行到
var e = event || window.event;
//阻止冒泡
 if(e.preventDefault) e.preventDefault();
 else e.returnValue = false;
 if(e.stopPropagation) e.stopPropagation();
 else e.cancelBubble = true;
}
但不知道为什么事件被激发两次,阻止冒泡不管用!
------解决方案--------------------有些是window下的
最好监听window和document的resize
------解决方案--------------------function init(){  
//~~~~~~~~~~~~~~~~~~~~~ 窗体变化
if(document.addEventListener){
 window.addEventListener("resize",resizeHandler,true);
 }else{
 window.attachEvent("onresize",resizeHandler);
 }
}
function resizeHandler(event)
{
	alert("重置尺寸事件"); //这语句没有执行到
	var e = event || window.event;
 	if(e.preventDefault) e.preventDefault();
 		else e.returnValue = false;
 	if(e.stopPropagation) e.stopPropagation();
 	else e.cancelBubble = true;
}
</script>
</head>
<body onload="init()">
<img src="">
</body>
这样试试  ie可以  其他的都不行