2015-05-26 7 views
5

'u tıklatıyorum Sayfada başka bir tıklama olayı meydana geldiğinde kapanacak olan jasny bootstrap offcanvas navbar (http://jasny.github.io/bootstrap/components/#navmenu-offcanvas) kullanıyorum. Ancak, 3 farklı Twitter hesabı arasında geçiş yapmak üzere değiştirilmiş bir Twitter özet akışımız var. Aralarında geçiş yapmak için bir tıklama tetiklenir. Bu, her zaman tweet'lerin geçişi için navmenu'nun kapanmasına neden oluyor ve ben bunu engellemeye çalışmıyorum. İşte Başka bir elementin tetikleyicisi olan bir navbarın kapanmasını engelle

twitter kaydırma kodudur:

var tabCarousel = setInterval(function() { 
    var tabs = $('#twittertab > li'), 
     active = tabs.filter('.active'), 
     nextone = active.next('li'), 
     toClick = nextone.length ? nextone.find('a') : tabs.eq(0).find('a'); 
    toClick.trigger('click'); 
}, 5000) 

Ben trigger('click') için preventDefault() ve stopPropagation() uygulayarak denedim ama jQuery ile çok deneyimsiz değilim ve bu koymak için nereye gerçekten sadece tahmin ediyorum.

+0

İlgili 'click' işleyicisini gönderin –

+0

Üzgünüz, ne demek istediğinizden emin değilim, jQuery ile çok deneyimsizim ve sadece bir meslektaşı iken sorunu çözmeye çalışıyorum. – DJC

+0

This' toClick.trigger ('click '); 'jQuery kullanarak bir işleyiciyi arayın, gönderebilir misiniz? Çünkü daha iyi bir yol, işleyici işlevini çağırmaktır, tıklama olayını tetiklemez. Şimdi bu harici bir eklenti tarafından ayarlanmışsa, bu daha karmaşık olabilir. Sorununuzu çoğaltan, örneğin jsFiddle –

cevap

1

Benzer bir sorun yaşayan herkes için, navbarın kapanışını, navbarın kendisinden herhangi bir tıklama ile kurban etmekten sakınmak istemiyorsanız, cevap basit olur. Yani, çözüm navbarın dışına tıklamak demek onu kapatmayacak.

Offcanvas öğesine "data-autohide =" false "değerini eklemeniz yeterlidir.

Daha sonra navbardaki bir linke tıklayarak navbar durumunu değiştirmek için bir fonksiyon ekledim; başka bir sayfaya gitme bağlantı varsa

$('#my-menu > li > a').click(function() { 
    $('.navmenu').offcanvas('toggle'); 
}); 

Bunun anlamı, ama o bölüme geçmek için tıkladığında bir çapa yerde aynı sayfada, menü kapanacak. İçinde bağlantı tıklandığında navmenu kapatmak istiyorsanız

0

o zaman "veri autohide =" "" yanlış bu
<div class="navmenu navmenu-default navmenu-fixed-right offcanvas">
üzerine ekleyin ve kodda bu komut dosyası
$(document).ready(function(){$('.navmenu a').click(function() { $('.navmenu').offcanvas('hide'); });})
eklemelisiniz. bu kadar.
Not: Tek sayfa uygulamasında çekicilik gibi çalışır.