Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击子元素而不触发父元素_Javascript_Html_Containers_Parent - Fatal编程技术网

Javascript 单击子元素而不触发父元素

Javascript 单击子元素而不触发父元素,javascript,html,containers,parent,Javascript,Html,Containers,Parent,我正在尝试编写一个脚本,将图像放入容器中。我想我应该能够移动图像。 问题是,我检查是否要放置图像,或者容器是否已满,当我尝试单击容器中的图像时,它首先运行检查 function isTemp() { if(temp == null) { alert("Please pick an item to place in the container"); } e

我正在尝试编写一个脚本,将图像放入容器中。我想我应该能够移动图像。 问题是,我检查是否要放置图像,或者容器是否已满,当我尝试单击容器中的图像时,它首先运行检查

function isTemp()
        {
            if(temp == null)
            {
                alert("Please pick an item to place in the container");
            }
            else
            {
                holder = true;
            }
        }
        function fillLarge()
        {
            isTemp();
            if(holder)
            {
                if(largeArray[0] != undefined &&largeArray[1] != undefined &&largeArray[2] != undefined && largeArray[3] != undefined &&largeArray[4] != undefined &&largeArray[5] != undefined)
                {
                    alert('This crate is full');
                }
                else
                {
                    for (var i=0; i<6; i++)
                    {
                        if (largeArray[i] == undefined)
                        {
                            largeArray[i] = /*"<span id = '"+temp+"'onclick='temp=this.id; break;'>*/"<img src='image/"+temp+".jpg'/>"/*</span>"*/;
                            largeArray[i].id = temp;            
                            document.getElementById("la").innerHTML += largeArray[i];
                            break;
                        }
                    }
                    document.getElementById(temp).style.display="none";
                    temp = null;
                }
                holder = false;
            }
函数isTemp()
{
if(temp==null)
{
警告(“请选择要放入容器中的物品”);
}
其他的
{
holder=真;
}
}
函数fillLarge()
{
isTemp();
如果(持有人)
{
如果(largeArray[0]!=未定义和largeArray[1]!=未定义和largeArray[2]!=未定义和largeArray[3]!=未定义和largeArray[4]!=未定义和largeArray[5]!=未定义)
{
警报(“此板条箱已满”);
}
其他的
{

对于(var i=0;iTry event.stopPropagation()-documented

防止冒泡,可以通过返回false来实现

 <div>
    <h3> LARGE CONTAINER </h3>
    <span id="la" onclick="fillLarge(); return false;"></span>
 </div>

大型集装箱
注意:这也会阻止默认行为(例如停止链接等)。
一些解释JS事件基础知识的阅读材料:

Oops-好的观点-另一个参考是-尽管我指向jQuery文档,但它不是jQuery独有的。daan的链接中还有其他信息
 <div>
    <h3> LARGE CONTAINER </h3>
    <span id="la" onclick="fillLarge(); return false;"></span>
 </div>