发新贴  快速回复

关于事件向子级传递的问题,求解!求解!求解!

  向偂①埗
2014-03-21 23:37
当鼠标移入对像后,子级的元素全部有了此事件!!!怎么样阻止呢,请大家帮帮忙



<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    .oneBox {width: 500px; margin: 0 auto; background: #ccc;}
    .oneBox dt{ width: 500px; height: 100px; background: red}
    .oneBox .red { background: #369}
    .oneBox .blue { background: blue}

    </style>
</head>
<body>

<div class="main">
        <div class="oneBox" id="box">
            <dl>
                <dt class="red">dtdtdtdtdtdtdtdtdtdtdtdtdtdd</dt>
                <dt class="blue">dtdtdtttdtdtdtdtdtdtdtdtd</dt>
                <dt>dtdtdtttdtdtdtdtdtdtdtdtd</dt>
                <dd>56454645464646548212115451315456421</dd>
            </dl>
            <div class="xq_btn">
                <a href="" class="simbut_btn">sdfsdfsd</a>
            </div>
        </div>
</div>
<script type="text/javascript">
    var oBox=document.getElementById('box');
    oBox.err=function(){
        alert('a')
    }
</script>
</body>
</html>
 
向偂①埗
网上找了数个小时,没有找到方法,都说叫“捕获事件”由目标事件向子级传递,就是没有找到解决的方法。
求助,求助,该怎么解决啊!
2014-03-21 23:46  回复本帖
 
向偂①埗
老师呢,老师帮帮忙啊,好急,好急
2014-03-22 09:47  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=24825&ptid=7853
老师呢,老师帮帮忙啊,好急,好急

跟你理解的刚好相反,是因为子级的事件冒泡到父级上了,才触发了父级的事件。

不知道你具体想实现什么效果,不同的效果解决办法也不一样。你把你的需求说清楚。
2014-03-24 15:10  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24847&ptid=7853
跟你理解的刚好相反,是因为子级的事件冒泡到父级上了,才触发了父级的事件。

不知道你具体想实现什么效 ...

我是想当鼠标移入到一个DIV(这个DIV里面有会若干的子标签)时,让这个DIV向上移动50px。移出DIV时,还原到原来的位置
2014-03-24 16:29  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=24863&ptid=7853
我是想当鼠标移入到一个DIV(这个DIV里面有会若干的子标签)时,让这个DIV向上移动50px。移出DIV时,还原 ...

你可以把这个div的原始位置存到一个自定义属性中,移入的时候取出这个自定义属性 再加上50 ,然后赋给div作为top值,移出的时候直接用这个自定义属性的值覆盖top值。

假设 oDiv就是你指的那个div,那么可以这样:

oDiv.h = oDiv.offsetTop;

oDiv.onmouseover = function(){
 this.style.top = this.h + 50+ 'px';
};

oDiv.onmouseout = function(){
this.style.top = this.h + 'px';
}

这样,就算有多次移入移出事件被触发,也不会有问题。
2014-03-25 14:12  回复本帖
 
向偂①埗
提出的问题是解决了,担是隐藏的这个问题我一直没弄明白,
老师您说的这个是因为子级的事件冒泡到父级上了,才触发了父级的事件,事件是加在这个DIV上的呢,子级也会有事件而且是冒泡?

<!doctype html>
<html>
<head>
        <meta charset="UTF-8">
        <title>test</title>
        <style type="text/css">
        *{margin:0;padding:0;}
        .oneBox {width: 500px; margin: 0 auto; background: #ccc; position: relative;}
        .oneBox dt{ width: 500px; height: 100px; background: red}
        .oneBox .red { background: #369; color: #fff;}
        .oneBox .blue { background: blue}
        </style>
</head>
<body>

<div class="main">
    <div class="oneBox" id="box">
            <dl>                
                <dt class="blue">dtdtdtttdtdtdtdtdtdtdtdtd</dt>
                <dt class="red">鼠标从不同色块上移动时为什么这里会累加次数:<b id="num">0</b></dt>
                <dt>好像事件老在发生一样</dt>
                <dd>能不能让这个父级DIV在移入的时候+1</dd>
            </dl>
            <div class="xq_btn">
                <a href="" class="simbut_btn">sdfsdfsd</a>
            </div>
    </div>
</div>
<script type="text/javascript">
        var oBox=document.getElementById('box');
        var iNum=document.getElementById('num');

        var iBoxH=oBox.offsetTop;
        oBox.err=function(){
            this.style.top =iBoxH+50+'px';
            iNum.innerHTML=parseInt(iNum.innerHTML)+1
        }
        oBox.err=function(){
            this.style.top =iBoxH+'px';
        }
</script>
</body>
</html>
2014-03-25 14:52  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=24877&ptid=7853
提出的问题是解决了,担是隐藏的这个问题我一直没弄明白,
老师您说的这个是因为子级的事件冒泡到父级上了 ...

是的, 你想想,如果有 红蓝两张纸,蓝色纸叠放在红色纸上面,当你手指放到蓝色纸上的时候,那是不是也是放在红色纸的上面?
2014-03-25 18:28  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24886&ptid=7853
是的, 你想想,如果有 红蓝两张纸,蓝色纸叠放在红色纸上面,当你手指放到蓝色纸上的时候,那是不是也是 ...

老师您说的对,可是这个问题可以解决吗
2014-03-26 09:21  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24892&ptid=7853
老师您说的对,可是这个问题可以解决吗

手指放到蓝色纸上让红色的纸感受不到
2014-03-26 09:22  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=24893&ptid=7853
手指放到蓝色纸上让红色的纸感受不到

可以,取消事件冒泡。 看你用户组,你是视频学员还是实体学员?
2014-03-26 12:52  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24904&ptid=7853
可以,取消事件冒泡。 看你用户组,你是视频学员还是实体学员?

视频学员,好的,我去看一下,谢谢老师
2014-03-26 16:09  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24886&ptid=7853
是的, 你想想,如果有 红蓝两张纸,蓝色纸叠放在红色纸上面,当你手指放到蓝色纸上的时候,那是不是也是 ...



老师,这是我的项目里一个效果,各种取消的办法硬是解决不了问题,视频里面说的例子过于简单。
2014-03-27 15:08  回复本帖
 
向偂①埗
forum.php?mod=redirect&goto=findpost&pid=24937&ptid=7853
老师,这是我的项目里一个效果,各种取消的办法硬是解决不了问题,视频里面说的例子过于简单。 ...

是不是实体课学的会精练一点啊!
2014-03-27 15:12  回复本帖
无为
forum.php?mod=redirect&goto=findpost&pid=24938&ptid=7853
是不是实体课学的会精练一点啊!

实体的有问题可以随时辅导哈...
2014-03-27 18:53  回复本帖
登录 后才可以发表回复