jQuery 手风琴排除 expand/collapse 内部 header 元素的事件。
jQuery accordion exclude expand/collapse event for a inner header element.
HTML
<div id="accordion">
<h3>
<span>Unit 1</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="1"></i>
</h3>
<div>Unit 1 Details</div>
<h3>
<span>Unit 2</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="2"></i>
</h3>
<div>Unit 2 Details</div>
<h3>
<span>Unit 3</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="3"></i>
</h3>
<div>Unit 3 Details</div>
</div>
JavaScript
$(function() {
$( "#accordion" ).accordion({
heightStyle: "content",
collapsible: true
});
});
这工作正常。当您单击手风琴 header 时,它将 expand/collapse 它们的内容。如果您看到 HTML 标记,我在每个 header <h3>
标记内都有一个编辑图标。我想要的是当用户点击我不想 expand/collapse 手风琴的图标时。
如何在 header.
中排除该元素上的点击事件
您需要在点击元素时停止传播 .editWorkUnit
检查此代码:
$('.editWorkUnit').click(function(e){
e.stopPropagation();
})
.... your code
我刚刚为您更新了 fiddle here
您只需添加:
$( ".editWorkUnit" ).on( "click",function(e) {
.stopPropagation();
});
HTML
<div id="accordion">
<h3>
<span>Unit 1</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="1"></i>
</h3>
<div>Unit 1 Details</div>
<h3>
<span>Unit 2</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="2"></i>
</h3>
<div>Unit 2 Details</div>
<h3>
<span>Unit 3</span>
<i class="fi-pencil editWorkUnit" title="Edit work unit" unit="3"></i>
</h3>
<div>Unit 3 Details</div>
</div>
JavaScript
$(function() {
$( "#accordion" ).accordion({
heightStyle: "content",
collapsible: true
});
});
这工作正常。当您单击手风琴 header 时,它将 expand/collapse 它们的内容。如果您看到 HTML 标记,我在每个 header <h3>
标记内都有一个编辑图标。我想要的是当用户点击我不想 expand/collapse 手风琴的图标时。
如何在 header.
中排除该元素上的点击事件您需要在点击元素时停止传播 .editWorkUnit
检查此代码:
$('.editWorkUnit').click(function(e){
e.stopPropagation();
})
.... your code
我刚刚为您更新了 fiddle here
您只需添加:
$( ".editWorkUnit" ).on( "click",function(e) {
.stopPropagation();
});