- 爱易网页
 
                        - 
                            JavaSript
 
                        - 求大神指点,根据浏览器类型使用不同的捕获事件方法,编译不报错,FF下正常,但是IE下无任何反应 
 
                         
                    
                    
                    日期:2014-05-16  浏览次数:20532 次 
                    
                        
                         求大神指导,根据浏览器类型使用不同的捕获事件方法,编译不报错,FF下正常,但是IE下无任何反应
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>事件 及 事件句柄</title>
<script type="text/javascript" src="../js/common/jquery-1.9.1.js"></script>
<script type="text/javascript">
	$(function() {
		// 1 捕获事件 判断浏览器类型使用不同的捕获事件方法
		var userAgent = navigator.userAgent;
		
		console.info(userAgent);
		if(userAgent.indexOf("MSIE")>0) {
			document.getElementById("testName").setCapture();// IE
		} else if(userAgent.indexOf("FireFox")>0) {
			window.captureEvents(Event.CLICK);// FF
		}
		
		// 2 定义事件处理
		function clickEvent(event) {
			var srcElement = event.target?event.target:(event.srcElement?event.srcElement:(event.relatedTarget?event.event.relatedTarget:event.currentTarget));// 目标对象 兼容IE & FF
			//var fromElement = event.fromElement;// 对象源(常用于mouseout mouseover)
			//var toElement = event.toElement;// 事件后的目标源(常用于mouseout mouseover)
			//console.info(srcElement)
			var srcId = srcElement.id;
			console.info(srcId);
			
			var flag = false;
			if(srcId == "testName") {
				flag = true;
			}
			console.info(flag);
			return flag;
		};
		// 3 注册事件处理(替换)
		window.onclick = clickEvent; // onclick 小写
		//document.onclick = clickEvent;
		document.getElementsByName("testName").onClick = clickEvent;
		document.getElementsByName("testName2").onClick = clickEvent;
		//document.onclick = clickHandler;
	});
</script>
</head>
<body>
	<input id="testName" type="text" name="testName" maxlength="20" value="请输入123" />
	<input id="testName2" type="text" name="testName2" maxlength="20" />
</body>
</html>
              
------解决方案--------------------
window.onclick =function(e){e=e
------解决方案--------------------
event; clickEvent(e);};
------解决方案--------------------
ie下event是全局屬性,你不手動傳參是接收不到的
function clickEvent(ev) {
    var e = ev 
                         一个关于onmouseover出发function的有关问题