【问题标题】:How to make div onClick at the content only [duplicate]如何仅在内容上制作 div onClick [重复]
【发布时间】:2016-01-27 21:48:24
【问题描述】:
<html>
    <head>
        <style>
            body
            {
                margin:0;   
            }
            .container
            {
                display:table;
                width:100vw;
                height:100vh;
                position:absolute;
                background:#000;
            }
            .helper
            {
                display:table-cell;
                vertical-align:middle;
            }
            .content
            {
                margin-left:auto;
                margin-right:auto;
                width:500px;
                height:200px;
                background:#FFF;
            }
        </style>
    </head>
    <body>
        <div class="container" onClick="alert('A')">
            <div class="helper">
                <div class="content" onClick="alert('C')">
                </div>
            </div>
        </div>
    </body>
</html>

当用户单击内容 div 时我需要运行一些脚本,当用户单击容器 div 时我需要运行另一个脚本。

但是当我点击内容 div 时,它会运行内容脚本和容器 div。

如何让它只在点击内容 div 时运行内容脚本。

谢谢

【问题讨论】:

标签: javascript


【解决方案1】:

只需添加一个 event.stopPropagation。下面是代码。

<div class="container" onclick="alert('A')">
            <div class="helper" id="content">
                <div class="content" onclick="alert('C') event.stopPropagation;">
                </div>
            </div>
        </div>
  </div>

This is jsfiddle link with solved problem

【讨论】:

  • 它只运行 alert('A'),我想让它只在点击内容 div 时运行 alert('C')
  • 它的工作。它只缺少“;”在“event.stopPropagation”之后的“alert('c')”和“()”之后谢谢
【解决方案2】:

当您单击一个元素时,事件会向上或向下移动。它取决于第三个参数(真或假)。基于此,您需要停止传播/冒泡以在您希望它停止的元素处停止。就这个 。 . .

http://javascript.info/tutorial/bubbling-and-capturing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2018-07-26
    • 2023-03-21
    • 2016-01-02
    相关资源
    最近更新 更多