我有一個奇怪的問題,使用bootstrap-sass和bootstrap-multiselect。 好像引導,薩斯事件處理阻塞下拉等多選處理bootstrap-sass多選事件衝突
這包通過亭子安裝:
'bootstrap-sass-official#3.3.1',
'bootstrap-multiselect'
應用程序建立在Django和蟒蛇,所以模板結合腳本的頁面:
{% compress js %}
<script src="{% static 'jquery/dist/jquery.js' %}"></script>
<script src="{% static 'bootstrap-sass/assets/javascripts/bootstrap.js' %}"></script>
{% endcompress %}
使用特定的頁面上綁定腳本:
{% block extrajs %}
<script src="{{ STATIC_URL }}bower_components/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"
type="text/javascript" charset="utf-8"></script>
{% endblock %}
crearing多選控制:
$('.multiselect').multiselect()
沒什麼特別的。但是當我嘗試在UI上使用多選控件時,它不會下降。控制檯沒有錯誤。
經過一些通過我想通代碼衝浪,有一些事件處理程序防止多選處理程序從執行:
// 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)
所以,棘手的解決辦法是首先關閉標準的事件處理程序的頁面,其中上使用的多選:
$(document)
.off('click.bs.dropdown.data-api')
.off('keydown.bs.dropdown.data-api')
這看起來有點冒失,而不是對我最好的解決方案。
是否有本地方法來解決這個衝突?感謝名單。
你好,嘗試在你所有的mutliselect中使用唯一的ID而不是類名。 – claudios