Here's an alternate solution。
我用div封裝了你的按鈕。
當鼠標進入包裝div時,它會顯示彈出窗口並展開自身以爲鼠標提供一個橋接,以便在不觸發鼠標離開的情況下輸入彈出窗口。我們還在popover上放置了一個mouseleave,以便當我們離開popover時,wrapper div返回到默認寬度。
links.mouseenter(function (event) {
var link = $(this);
link.popover('show').width(180);
$('.popover').mouseleave(function() {
link.popover('hide').width(defaultWidth);
});
});
當鼠標離開按鈕,進入橋到酥料餅,我注意到在包裝MouseLeave事件觸發由於事件的冒泡。下面的代碼通過忽略鼠標事件來解決這個問題,除非我們將包裝器退出到主體。
links.mouseleave(function (event) {
if (event.toElement === document.body) {
$(this).popover('hide').width(defaultWidth);
}
});
嘗試向包裝div添加邊框以查看實際的代碼。也。你應該考慮將你的CSS分隔開來,使它更具可讀性。
keepPopover應該做什麼?它在使用時是不確定的。 – 2012-05-26 21:35:22