Jquery 标签内元素的事件处理程序即使在使用StopRopAgation之后也会执行

Jquery 标签内元素的事件处理程序即使在使用StopRopAgation之后也会执行,jquery,css,Jquery,Css,我有几个元素(如输入、段落、单选按钮或任何元素)嵌入到标签中。此标签的父项是div标记。 为label内部的所有元素和父div(label标记除外)应用事件处理程序。在所有事件处理程序中也应用了StopRopAgation。但是,当我单击标签中的任何元素时,就会调用相应的事件处理程序,并且由于stopPropagation在那里,所以它会限制调用父事件处理程序。直到这里,一切都很好。但问题是它也在调用其同级的事件处理程序 <div class="scroll-content-item"

我有几个元素(如输入、段落、单选按钮或任何元素)嵌入到标签中。此标签的父项是div标记。 为label内部的所有元素和父div(label标记除外)应用事件处理程序。在所有事件处理程序中也应用了StopRopAgation。但是,当我单击标签中的任何元素时,就会调用相应的事件处理程序,并且由于stopPropagation在那里,所以它会限制调用父事件处理程序。直到这里,一切都很好。但问题是它也在调用其同级的事件处理程序

 <div class="scroll-content-item" data-pid="1773">
      <label>   
         <span class="custom">Custom</span>
         <input type="text" class="text custom_width" id="cust_width" value="960"/> 
         <p class="para"> This is test para</p>
      </label>
  </div> 
当我点击段落时,它的事件处理程序和输入类型的处理程序也被调用。当我单击span with class custom时,因为它没有事件处理程序,所以会首先调用parent,然后调用输入类型处理程序

您可能会问这样的问题:嵌入p、input和标签中的所有内容的目的是什么。我们正在使用自定义
input type=“file”
在输入类型文件上覆盖标签数据,但必须触发标签输入类型文件上的
onclick
。同样,我在标签中嵌入元素

我只是想知道为什么即使我正在使用
stopPropagation
也会调用这两个事件处理程序

作为参考,我创建了JSFIDLE:


提前感谢

添加
返回false到事件处理程序解决它

还添加
event.preventDefault()以覆盖所有浏览器


感谢您的回复。是的,它通过添加returnfalse和一些我如何删除标签内的元素并完全满足我的要求来工作。但我只是想知道为什么它也调用同级事件处理程序。那么添加event.stopPropagation.Using preventDefault的目的是什么呢?它也满足了我的要求。但和锚定标签一样,标签也有默认行为吗?
jQuery(document).ready(function($) {

    $('.para').click(function(event) {
        alert("paragraph event ");
        event.stopPropagation();
    });

    $('.custom_width').click(function(event) {

        alert("input custom width event ");
        event.stopPropagation();
    });



    $('.scroll-content-item').click(function(event) {
        alert("parent div event ");
        event.stopPropagation();
    });

});​