2013-06-19 85 views
3

引導提示讓我僅僅通過指定「標題」屬性爲元素指定工具提示指定工具提示文字:引導提示:如何使用JavaScript函數

<div title="This is a test tooltip"> ... </div> 

有什麼辦法避免硬編碼提示內容並指定一個JavaScript函數呢?我試過title =「javascript:myFunction()」,但它沒有解決它。

我看着自舉代碼,它似乎包含函數調用的支持,我只是想不通的語法:

從引導提示段:

, getTitle: function() { 
     var title 
     , $e = this.$element 
     , o = this.options 

     title = $e.attr('data-original-title') 
     || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) 

    return title 
    }  

回答

4

http://twitter.github.io/bootstrap/javascript.html#tooltips

給你的div一個id,如果你使用的是引導3撥打

function titleSetter(node) { 
    return "My Tooltip text"; 
} 
$('#my-div-id').tooltip({ 
    title: 'My Tooltip text' 
}); 

// or 

$('#my-div-id').tooltip({ 
    title: titleSetter 
}) 
+0

謝謝。雖然有一個獎金的問題。如果我在html源代碼中使用title =「....」,那麼tooltop將以黑色背景上的白色字體顯示。當我在你的方法中使用他的tooltip()函數時,提示在黃色背景上以深色字體顯示。我如何控制工具提示顯示主題? –

+0

@Ya。對不起,你應該問一個新問題,這樣,其他用戶很容易找到它。但我確定使用CSSS進行控制非常容易 –

1

我不知道如何使用一個函數,但我使用一個配置文件來保存我的工具提示的標題/正文。然後,我爲標題和正文使用數據屬性,並將其留在我的html中。下面是我的配置文件(實際上只是一些JSON):

var help = { 
    '001': { 
     title: 'Title 1', 
     description: 'Body 1' 
    }, 
    '002': { 
     title: 'Title 2', 
     description: 'Body 2' 
    } 
    } 

我的HTML看起來就像它的聲音:

<div data-help="001"></div> 

我那麼做的標題和內容返回一個函數在我的工具提示,如所以:

var tooltipOptions = { 
    trigger: 'manual', 
    title: function() { 
     return help[$(this).attr('data-help')].title; 
    }, 
    content: function() { 
     return help[$(this).attr('data-help')].description; 
    } 
    }; 

而我現在有一個動態的機構和標題爲我的工具提示。

我相信這會解決您在遇到問題時遇到的問題。祝你好運!

0

,你可以把一個ID在你的DIV

<div id="title-text" title="This is a test tooltip"> ... </div> 

,然後使用此代碼

$("#title-text").attr('data-original-title', "the title"); 
相關問題