11

bootstrap-sass ve bootstrap-multiselect kullanarak garip bir sorun var. Sayfayı komut bağlar django ve piton üzerine inşabootstrap-sass multiselect olay çakışması

'bootstrap-sass-official#3.3.1', 
'bootstrap-multiselect' 

Uygulama, böylece şablonun:

önyükleme-küstahlık olay işleyicileri

Bu kulübeye aracılığıyla yüklenmiş paketler açılır vb çokluseçim işleyicileri engellemek gibi görünüyor

{% compress js %} 
    <script src="{% static 'jquery/dist/jquery.js' %}"></script> 
    <script src="{% static 'bootstrap-sass/assets/javascripts/bootstrap.js' %}"></script> 
{% endcompress %} 

kullanarak belirli bir sayfadaki komut bağlayıcı:

{% block extrajs %} 
    <script src="{{ STATIC_URL }}bower_components/bootstrap-multiselect/dist/js/bootstrap-multiselect.js" 
      type="text/javascript" charset="utf-8"></script> 
{% endblock %} 
özel

$('.multiselect').multiselect() 

Hiçbir şey:

multiselect kontrolünü crearing. Ancak, UI'daki çoklu kontrolleri kullanmaya çalıştığımda, düşmez. Konsolda hata yok. yürütülmesini çokluseçim işleyicileri önlenmesi bazı olay işleyicileri olduğunu ben anladım kodu ile sörf bazı sonra

:

// APPLY TO STANDARD DROPDOWN ELEMENTS 
    // =================================== 

    $(document) 
    .on('click.bs.dropdown.data-api', clearMenus) 
    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) 
    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) 
    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) 
    .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown) 
    .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown) 

yüzden zor çözüm sayfasında nereye ilk standart olay işleyicileri kapatmak oldu kullanılan çoklu elektrotlar:

$(document) 
    .off('click.bs.dropdown.data-api') 
    .off('keydown.bs.dropdown.data-api') 

Bu benim için en iyi çözüm değil.

Bu çakışmayı çözmek için yerel yöntemler var mı? Teşekkürler.

+0

Merhaba, bir sınıf adı yerine tüm mutliselect'te benzersiz kimlik kullanmayı deneyin. – claudios

cevap

6

Bootstrap'in sayfaya iki kez bağlandığını düşündük. Açıkça görüldüğü gibi ve açık bir şekilde stepoftheweb.com temaları aracılığıyla betikle birlikte betikle (soruda bu ayrıntıya yer vermedim, bunun önemli olmadığını düşündüm)

Yani, ilk komut dosyasını sayfaya bağladım ve şimdi iyi çalışıyor.

+0

Merhaba, Bootstrap'in iki kez bağlandığını nasıl anlarsınız? Neredeler? – RockU

İlgili konular