Как отключить событие щелчка API Bootstrap Collapse

Я использую плагин Twitter Bootstrap 'Collapse' (документация) в проекте, который я работаю над. Мне не очень понравилось, как нужно щелкнуть каждый родительский элемент, чтобы сворачиваемые элементы переключались, поэтому я написал свой собственный скрипт, чтобы показывать и скрывать сворачиваемые элементы при наведении, а не при щелчке.

Вот код скрипта:

$(function spark_item_hover() {
    $(this).on('mouseenter.collapse.data-api', '[data-toggle=collapse]', function() {
        var $this = $(this), target = $this.attr('data-target')
        , option = $(target).data('collapse') ? 'show' : $this.data()
        $(target).collapse();
        $(target).show('true');
    })
    $(this).on('mouseleave.collapse.data-api', '[data-toggle=collapse]', function() {
        var $this = $(this), target = $this.attr('data-target')
        , option = $(target).data('collapse') ? 'hide' : $this.data()
        $(target).hide('true');
    })   
})

А вот как я вызываю скрипт в HTML (удалив все ненужное):

<li class="spark-item" onhover="spark_item_hover()" data-target="#context155" data-toggle="collapse">
    <div class="span11">
        <div class="row-fluid">
            <div id="context155" class="collapse" style="height: auto; display: none;"></div>
        </div>
    </div>
</li>

Это в основном делает то, что я хочу: он будет показывать свернутый элемент, когда я наведу на него курсор, и скрою его, когда я отойду. Единственная проблема заключается в том, что событие клика определено в API (нижняя часть здесь) все еще используется; когда я нажимаю на родительский элемент, он по-прежнему переключает складной элемент. Мне было интересно, есть ли способ отключить переключение кликов из API? Я все еще хочу иметь возможность щелкнуть внутри элемента (потому что он содержит ссылки на другие страницы); Я просто не хочу, чтобы он переключал складной элемент.


person YNotSayNay    schedule 03.08.2012    source источник


Ответы (1)


Вы можете использовать другой токен-переключатель: [data-toggle=hovercollapse]. Таким образом, плагин не будет активирован.

person Sherbrow    schedule 03.08.2012