Причина в том, что varargs дают возможность вызова с непараметризированным массивом объектов. Поэтому, если ваш тип был List & lt; A> ..., его также можно вызвать с помощью типа List [] non-varargs.
Вот пример:
public static void testCode(){
List[] b = new List[1];
test(b);
}
@SafeVarargs
public static void test(List<A>... a){
}
Как вы можете видеть List [] b может содержать любого типа потребителя, и все же этот код компилируется. Если вы используете varargs, то вы в порядке, но если вы используете определение метода после type-erasure - void test (List []), то компилятор не будет проверять типы параметров шаблона. @SafeVarargs подавит это предупреждение.
Я сталкивался с проблемой подсказки, делающей некоторый броский материал, когда близкая кнопка стала нажатой. Для работы вокруг этого, я использовал span
вместо того, чтобы использовать кнопку. Кроме того, когда близкая кнопка была нажата, я должен буду нажать подсказку дважды после того, как она закрылась, чтобы заставить ее открываться снова. Для работы вокруг этого, я просто использовал .click()
метод, как замечено ниже.
<span tabindex='0' class='tooltip-close close'>×</span>
$('#myTooltip').tooltip({
html: true,
title: "Hello From Tooltip",
trigger: 'click'
});
$("body").on("click", ".tooltip-close", function (e) {
else {
$('.tooltip').remove();
$('#postal-premium-tooltip').click();
}
});
Это - рабочее решение на основе ответа @Chris выше, но зафиксированный так, чтобы при щелчках подпоследовательности триггерного элемента, Вы не нажимали элемент дважды.
Используя .popover('hide)
вручную портит внутреннее состояние начальных загрузок, как отмечено в комментариях.
var closePopover = function(eventShown) {
// Set the reference to the calling element
var $caller = $('#' + this.id);
// Set the reference to the popover
var $popover = $('#' + $(eventShown.target).attr('aria-describedby'));
// Unbind any pre-existing event handlers to prevent duplicate clicks
$popover.find('.popover-close').off('click');
// Bind event handler to close button
$popover.find('.popover-close').on('click', function(e) {
// Trigger a click on the calling element, to maintain bootstrap's internal state
$caller.trigger('click');
});
}
$('.popoverTriggerElement').popover({
trigger: 'click'
})
.on('shown.bs.popover', closePopover)
Теперь, можно использовать близкую кнопку, не копируя события щелчка, и сохраняя внутреннее состояние начальных загрузок под контролем, таким образом, это работает как ожидалось.