2012-02-23 68 views
0

我問this question有關根據屏幕大小更改引導彈窗的位置。是否可以根據屏幕寬度更改Bootstrap彈出窗口的操作?

答案很好 - 但是我現在也想改變popovers的動作(所以它是點擊手機)以及位置,並且難以重新分解代碼。這是我有:

$(document).ready(function(){ 
    $('#my_list li').popover({ 
     placement: wheretoplace 
    }); 
}); 

function wheretoplace(){ 
    var width = window.innerWidth; 
    if (width<500) return 'below'; 
    return 'left'; 
} 

我將如何修改wheretoplace函數返回兩件事情:使用trigger值沿着placement價值?我已經有了jsFiddle中的現有內容。

編輯 - 我已經修改了我上面的jsFiddle以顯示完整的解決方案,在@James的答案下面添加了一個click事件。

回答

1

如果您試圖從函數返回兩個值,請嘗試將它們分配爲對象的屬性,然後返回該對象。

例如。

function wheretoplace(){ 

    var data = {};  

    var width = window.innerWidth; 

    if (width<500) 
    { 
     data.placement = 'below'; 
    } 
    else 
    { 
     data.placement = 'left'; 
    } 

    data.trigger = "myEvent"; 

    return data; 

} 

然後在函數調用wheretoplace

$(document).ready(function(){ 
    $('#my_list li').popover({ 
     placement: wheretoplace().placement, 
     trigger: wheretoplace().trigger 
    }); 
}); 

難道這就是你想幹什麼?

編輯:在回答下面的評論:

如同jsFiddle demo

通過作爲文件準備好「手冊」分配動了扳機,你就能夠調用$(element).popover("toggle")在點擊處理程序,其會切換彈出窗口的外觀。

+0

是的 - 這要走很長的路要走,謝謝。我已經使用這個代碼的版本[這裏](http://jsfiddle.net/cherryflavourpez/Dgtvq/);任何想法如何使用Bootstrap獲得'點擊'功能?我現在只是傳遞'懸停',因爲我無法使用焦點或手動工作。 [引導頁面](http://twitter.github.com/bootstrap/javascript.html#popovers)顯示可能的值。 – CherryFlavourPez 2012-02-23 16:34:35

相關問題