2016-04-28 26 views

cevap

2

İşte

<accordion-group is-open="status.open" template-url="accordion-group.html"> 
     <accordion-heading> 
      I can have markup, too! <button type="button">Save</button> <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> 
     </accordion-heading> 
     This is just some content to illustrate fancy headings. 
    </accordion-group> 

plunker var .. açıyor i modifiye:

<accordion close-others="oneAtATime"> 
    <accordion-group style="pointer-events:none !important;" is-open="status.open" template-url="accordion-group.html"> 
     <accordion-heading style="pointer-events:none !important;"> 
      I can have markup, too! <button style="pointer-events:none !important;" type="button">Save</button> <i class="pull-right glyphicon" style="pointer-events:auto !important;" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i> 
     </accordion-heading> 
     This is just some content to illustrate fancy headings. 
    </accordion-group> 
    </accordion> 

Fare tıklatma etkinliğine tepki vermeyeceğiniz öğelerin üzerinde "pointer-events: none! Important" yazan css özelliğini eklemelisiniz ve simge göstergenize "pointer-event: auto! Important" değerini ayarlamanız yeterlidir. . Akordeon sadece ok simgesini tıkladığınızda açılmalıdır. Yani çalışması gerekir :)

sizin gibi CSS sınıfları yapabilirsiniz çözüm daha zarif hale getirmek için:

.disable-click-event { 
    pointer-events: none !important; 
} 

.enable-click-event { 
    pointer-events: auto !important; 
} 

olay ($ Event.stopPropagation()) fokurdayan engelleyen bir seçenek de var ama bu durumda ben Tam olarak olayın nerede çağrıldığını bilmiyorum, bu yüzden onu bulmak için sıkı bir soruşturmaya ihtiyaç duyar.

Bir ipucu: eğer herhangi bir sorun JS yerine CSS ile çözülemiyorsa, bunu tamamlamaya değerdir :) JavaScript olayları hata ayıklamak için çok kolay değildir, bu yüzden CSS düzeltmesi, olayla ilgili kirli hatadan daha kolay bulunacaktır fokurdayan. Basit CSS çözümlerini açık bir vicdanla kullanmanızı tavsiye ederim :) şerefe

+0

Kaydetme işlevi için işlevsellik verebilir miyim? – forgottofly

+0

Tam olarak ne kaydetmek istiyorsun? –