document.getElementById('parent').onclick=function(e){
        var e = e || window.event;
        var elem = e.target;
        var targetArea = document.getElementById('child_one');
        if(targetArea.contains(elem)){
            alert("在区域内");
        }else{
            alert("在区域外");

方法二:通过Jquery

$('#parent').click(function(e){
	var e = e || window.event;
	var elem = e.target;
	if($(elem).is('#child_one') || $(elem).is('#child_one *')){
		alert("在区域内");
	}else{
		alert("在区域外");
                    html实例:<!DOCTYPE html><html><head>	<title>test</title>	<style type="text/css">		#parent{			height:500px;			width: 200px;			border: 1px solid red;			marg...
1.用$.contains判断
 $(document).mousemove(function(e){
	if($.contains($('.box')[0],e.target) || $.contains($('.box')[0]==e.target)){
		alert('鼠标在box盒子里')}
	else{alert('鼠标不在box盒子里')}
$.contains是jQuery里用来判断一个标签是否包含另一个标签的方法,其用法是$.contains(父元素,子元素)。但是$
也可以根据具体情况,设置大范围的id或class去指定对应的大范围。
// 指定点击区域大范围为指定的id为box的盒子
// $('#box').mouseup(e => {
// 指定点击区域大范围为整个document
$(document).mouseup(e => {
	 var _con = $('.btn_list'); // 设置目标区域
	 if (!_con.is(e.target) && _con.has(e
事件流:事件捕获阶段(至内)–>处于目标阶段(事件响应到触发事件的最底层元素上)–>事件冒泡阶段(内至,默认false冒泡)
事件委托:将一个元素的绑定事件委托到另一个 元素上
优点:减少内存的消耗、动态绑定事件
2.场景问题
一个ul下有十个li,需要每次点击li标签的时候,打印出被点击的li的innerHTML文本内容,如何做?
3.代码实现
人们最常见的惯
				
在某一实际项目中需要拖拽功能,并实现拖拽到某一元素内,执行响应的操作。这里给出一个鼠标是否在元素内的判别函数。其中obj为拖拽进的元素(而非拖拽的元素)。 // 判断鼠标是否落在一个块级元素内部 checkIn(obj) { var x = Number(window.event.clientX) // 鼠标相对屏幕横坐标 var y = Number(window.event.clientY) // 鼠标相对屏幕纵坐标 var div_x = Number(obj.getBoun