`

document.documentElement & e.srcElement &e.target

阅读更多

$(document.documentElement).bind("click",function(e){
			var e = e||window.event;
			var o = e.srcElement?e.srcElement:e.target
			if(o){
				alert(o.tagName);
			}
		});




一个小例子
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
  <style type="text/css">
		#mesg{
			width:152px;
			height:120px;
			background:#ECEEFE;
			border:1px solid #CED3FC;
			display:none;
			position:absolute;
		}
		.btn{
			cursor:pointer;
		}
  </style>
  <script type="text/javascript">
  <!--

	var m = {};
	$(function(){
		m={c:1,show:false,to:null,mesg:$("#mesg")[0]};
		$(document.documentElement).bind("click",function(e){
			if(m.show && m.c >=2){
				var e = e||window.event;
				var o = e.srcElement?e.srcElement:e.target;
				if(o != m.to[0] && o !=m.mesg){
					m.show=false;
					$(m.mesg).hide();
				}
			}
			m.c++;		
		});

		$(".btn").bind("click",function(){
			if(m.show){
				m.show=false;
				$(m.mesg).hide();
			}else{
				var mg = $("#mesg");
				var to = $(this).prev();
				var of = to.offset();
				mg.css({"left":of.left,"top":of.top+20}).show();
				m.show=true;
				m.to=to;
				m.c=1;
			}		
		});		 
	});
  //-->
  </script>
 </head>
 <body>
	<input id="t1"/><image src="qq.jpg" class="btn" >
	<input /><image src="qq.jpg" class="btn" >
	<br/>
	<br/>
	<br/>
	<br/>
	<input /><image src="qq.jpg" class="btn">
	<div id="mesg"></div>
 </body>
</html>

分享到:
评论

相关推荐

    JavaScript兼容浏览器FFIE技巧[定义].pdf

    - IE使用document.body.offsetWidth和document.body.offsetHeight,FF使用window.innerWidth、window.innerHeight以及document.documentElement.clientWidth和document.documentElement.clientHeight。 - 通用做法...

    JavaScript中的跨扫瞄器大事操作的基本方法整理_.docx

    在W3C事件模型中,可以通过`event.target`获取事件的目标元素,而在IE中则需要使用`window.event.srcElement`。`getTarget`函数封装了这个差异,返回事件的目标元素。 6. **获取滚动条位置**: 获取页面的滚动...

    JavaScript 经典实例日常收集整理(常用经典)_.docx

    left: document.documentElement.scrollLeft || document.body.scrollLeft }; } ``` 跨扫描器获取可视窗口大小 在 JavaScript 中,获取可视窗口大小可以使用 `innerWidth` 属性或 `innerHeight` 属性。下面是一...

    js兼容IE火狐问题

    FF则使用`window.innerWidth`和`window.innerHeight`,以及`document.documentElement.clientWidth`和`document.documentElement.clientHeight`。通用方法是使用`document.body.clientWidth`和`document.body....

    javascript兼容性解决方法大全

    对于窗体的高度和宽度,IE使用`document.body.offsetWidth`和`document.body.offsetHeight`,但FF提供了`window.innerWidth`和`window.innerHeight`,以及`document.documentElement.clientWidth`和`document....

    详解js几个绕不开的事件兼容写法

    event.target : event.srcElement; }, addHandler: function(elem, type, listener) { if (elem.addEventListener) { elem.addEventListener(type, listener, false); } else if (elem.attachEvent) { elem....

    HTML在IE浏览器和FF浏览器中标签的使用

    兼容写法为`var target = e.relatedTarget || e.toElement`。 2. **标签坐标位置**:IE提供了style.posLeft和style.posTop,FF不支持。可以用obj.offsetLeft和obj.offsetTop作为通用属性。 3. **窗体尺寸**:IE...

    js_黄金词典_js使用的黄金宝典

    - `event.srcElement`:事件触发的元素,与`event.target`类似,但在旧版本的IE中使用。 - `event.srcElement.tagName` 和 `event.srcElement.type`:获取元素的标签名和类型。 - `event.srcElement.setCapture()...

    IE与FF一些常见的兼容性问题解决

    - **Firefox**: 使用 `window.innerWidth` 和 `window.innerHeight` 获取视口宽度和高度,或使用 `document.documentElement.clientWidth` 和 `document.documentElement.clientHeight` 获取文档元素的宽度和高度。...

    兼容IE与FireFox

    e.srcElement : e.target; ``` 这段代码首先检查`srcElement`是否存在,如果存在则直接使用;否则,使用`target`。 #### 四、元素属性访问 对于元素属性的访问,IE和Firefox也有细微差别。例如,对于一个名为`...

    js使用小技巧

    document.documentElement.innerHTML 第一个style标签 document.styleSheets[0] style标签里的第一个样式 document.styleSheets[0].rules[0] 防止点击空链接时,页面往往重置到页首端。 ()"&gt;word 上一网页...

    javascript最常用的技巧

    40. **HTML标签内容**:`document.documentElement.innerHTML`返回整个HTML文档的innerHTML。 41. **第一个style标签**:`document.styleSheets[0]`可以获取文档的第一个样式表。 这些技巧涵盖了JavaScript在网页...

    my97日历控件

    var Y=window,T={innerHTML:""},N="document",H="documentElement",C="getElementsByTagName",V,A,S,G,c,X=navigator.appName;if(X=="Microsoft Internet Explorer")S=true;else if(X=="Opera")c=true;else G=true;A...

    Js技巧大全

    - 获取事件触发的对象: `event.srcElement` 或 `event.target` (推荐) - 获取标签名称: `event.srcElement.tagName` - 获取元素类型: `event.srcElement.type` 2. **事件按键** - 获取按键码: `event....

    js几种常见的方法封装,方便调用

    let targetEle = e.target || e.srcElement; for (let i = 0; i &lt; child.length; i++) { if (child[i] == targetEle) { cb.call(targetEle)(); } } }; } ``` 3. **获取可视窗口大小**: `view`函数可以...

    给moz-firefox下添加IE方法和属性

    Document.prototype.documentElement = function(){ // 实现 document.documentElement 的功能 }; Document.prototype.activeElement = function(){ // 实现 document.activeElement 的功能 }; } ``` ##### ...

    IE和FF在对js支持的不同(整理)及解决方法

    FF提供`window.innerWidth`和`window.innerHeight`,IE可能需要`document.documentElement.clientWidth`和`document.documentElement.clientHeight`。 - 解决方案:使用`obj.offsetLeft`和`obj.offsetTop`获取元素...

    JavaScript 经典实例日常收集整理(常用经典)

    left: document.documentElement.scrollLeft || document.body.scrollLeft; }; } ``` 获取浏览器窗口可视大小是响应式设计中不可或缺的功能。`getWindow` 函数能够返回当前窗口的宽度和高度: ```javascript ...

    IE和firefox浏览器的event事件兼容性汇总

    pos.x = oEvent.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; pos.y = oEvent.clientY + document.body.scrollTop + document.documentElement.scrollTop; } console.log("X: " ...

    ie与firefox下的event使用说明与详细区别

    Firefox 提供了 `window.innerWidth` 和 `window.innerHeight`,以及 `document.documentElement.clientWidth` 和 `document.documentElement.clientHeight`。这些属性可以获取到窗口或文档元素的实际可视区域大小。...

Global site tag (gtag.js) - Google Analytics