Başlığın herhangi bir yerini tıklarsam akordeon açan tıklama olayını devre dışı bırakmak istiyorum.Instead Sadece sağdaki sembolün üzerine tıklamak istiyorum .... Ben kaydet butonuna tıklayın eğer html dosyasında ..Akordeon'u sadece sağ sembolün sağ tarafında tıklayın
cevap
İş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
Kaydetme işlevi için işlevsellik verebilir miyim? – forgottofly
Tam olarak ne kaydetmek istiyorsun? –