Панель вне холста закрывается при удалении элемента

Я создаю небольшой магазин, используя simpleCart.js и Bootstrap 3. Для отображения корзины я надеялся использовать панель вне холста, которую я включил с помощью дополнения Jasny-bootstrap. Все работает нормально, но когда я удаляю элементы из корзины, панель вне холста закрывается. Таким образом, пользователь не может изменять содержимое корзины, не открывая панель после каждого клика. Как я могу держать панель открытой, пока пользователь не захочет закрыть ее?

Вот НЕПРАВИЛЬНАЯ демонстрация проблемы

Глядя на этот фрагмент из (ссылка прямо на код) simpleCart.js - строка 337-353, прав ли я, предполагая, что после удаления элемента он перезагружает корзину и, следовательно, вызывает закрытие панели? Если это так, то как будет выглядеть версия этого кода для решения моей проблемы?

                // empty the cart
            empty: function () {
                // remove each item individually so we see the remove events
                var newItems = {};
                simpleCart.each(function (item) {
                    // send a param of true to make sure it doesn't
                    // update after every removal
                    // keep the item if the function returns false,
                    // because we know it has been prevented 
                    // from being removed
                    if (item.remove(true) === false) {
                        newItems[item.id()] = item
                    }
                });
                sc_items = newItems;
                simpleCart.update();
            },

Заранее спасибо:)

1 ответ

Решение

Опция autohide определяет, должна ли быть закрыта панель навигации, когда пользователь щелкает за ее пределами. Установка его в false, означает, что он остается открытым, пока пользователь не нажмет на ссылку "ЗАКРЫТЬ ПАНЕЛЬ ЗДЕСЬ".

Увидеть скрипку

Обратите внимание, что обычно меню не закрывается при нажатии на ссылку внутри него. Я не уверен, почему это происходит в вашем случае.

Другие вопросы по тегам