1

我想使用擊倒js彈出。但我無法獲得相對於我的dom元素的彈出窗口。 我知道有兩個解決方案 1)$ index設置爲特定的id。 2)你也可以通過淘汰賽獲得當前的dom元素,不要使用$ index。彈出在Knockout.js相對於DOM元素

但我無法使用上述任何解決方案。 任何人都有一個解決方案我如何能像每個foreach和相對於當前圖像下面的圖像彈出。

Popup Template

ko.bindingHandlers.popover = { 
 

 
init: function(element, valueAccessor, allBindings, viewModel, bindingContext) 
 
{ 
 
    ko.bindingHandlers.value.init(element, valueAccessor, allBindings); 
 
    var source = allBindings.get('popoverTitle'); 
 
    var sourceUnwrapped = ko.unwrap(source); 
 
    $(element).attr('data-placement', 'bottom'); 
 
    $(element).popover({ 
 
     trigger: 'focus', 
 
     content: valueAccessor(), 
 
     title: sourceUnwrapped 
 
    }); 
 
    }, 
 
    update: function(element, valueAccessor, allBindings, viewModel, bindingContext) { 
 
    var value = valueAccessor(); 
 
    ko.bindingHandlers.value.update(element, valueAccessor); 
 
    } 
 
};
<div data-bind="foreach : list"> 
 
    <div class="col-lg-3 col-md-4 col-xs-6 thumb" > 
 
    <a class="thumbnail ind" href="#"> 
 
     <img type="button" class="img-responsive" data-lightbox="" src="http://placehold.it/400x300" alt="" data-toggle="popover" data-bind="popover:" > 
 
     </a> 
 
    </div>

+0

什麼是'$(element).popover(...)'?彈出窗口不是一個內置的功能在挖空或jQuery中,所以你使用的是什麼庫? –

回答

0

假設你正在使用酥料餅的引導版本:

我認爲這個問題是與你的重點基於觸發器。圖像元素在默認情況下不可聚焦。至於popover的位置,它應該已經相對於它所附的元素,所以你不需要做任何幻想。

更改觸發器類型後,它看起來像我所期望的那樣工作。

$(element).popover({ 
    trigger: 'hover', 
    content: valueAccessor(), 
    title: sourceUnwrapped 
}); 

https://jsfiddle.net/3s2h7gz3/

如果您願意,使圖像元素可獲得焦點,你可以給它一個tabindex屬性。

<img tabindex="0" type="button" ...