2016-05-26 6 views
0

HTMLjQuery Akkordeon exclude Expand/Collapse Event für ein inneres Kopfelement.

<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 
    }); 
}); 

Dies funktioniert gut. Wenn Sie auf den Akkordeon-Header klicken, wird der Inhalt vergrößert bzw. verkleinert. Wenn Sie das HTML-Markup sehen, habe ich ein Bearbeitungssymbol in jedem Header <h3> Tag. Was ich möchte ist, wenn der Benutzer auf das Symbol klickt Ich möchte das Akkordeon nicht erweitern/reduzieren.

So schließen Sie das Klickereignis für dieses Element in einer Kopfzeile aus.

+0

können Sie eine [Geige] (https://jsfiddle.net/) machen? – Raviteja

+0

Ok, lass mich das für dich tun. – deepakb

+0

Hier ist die [jsfiddle] (https://jsfiddle.net/deepakb/qtc65de6/3/). Wenn Sie auf den Gerätenamen klicken, sollte das Akkordeon ein- und ausgeblendet werden. Wenn Sie jedoch auf den Link zum Bearbeiten klicken, sollte das Akkordeon nicht vergrößert oder verkleinert werden. – deepakb

Antwort

2

Sie müssen für das Element .editWorkUnit

Überprüfen dieser Code Ausbreitung auf Klick stoppen:

$('.editWorkUnit').click(function(e){ 
    e.stopPropagation(); 
}) 
.... your code 

Und codepen http://codepen.io/todorutandrei/pen/XKrZYG

+0

Es funktioniert nicht. Durch Klicken auf den Link Bearbeiten wird der Akkordeoninhalt geöffnet/geschlossen. – deepakb

+0

Überprüfen Sie die Codepen –

+0

oder das Problem könnte sein, dass das Symbol Element Breite oder Höhe hat gleich 0 - überprüfen Sie auch diese –

0

Ich habe die Geige hat gerade für Sie here

Sie muss einfach hinzufügen:

$(".editWorkUnit").on("click",function(e) { 
     .stopPropagation(); 
    });