2011-05-11 13 views
0

我建立一個HTML菜單,我使用jQuery UI格式化按鈕。我想創建一個僅圖標按鈕。一切正常的IE 9,Chrome和Safari瀏覽器在Windows 7上它也爲Chrome OS X上而不是Safari瀏覽器在OS X設置一個jQuery UI按鈕的文本爲false在Safari沒有工作在Mac OS X 10.5

有一個谷歌地圖,我有一個頁面上的互動。如果我不創建地圖,則菜單將僅使用僅圖標按鈕進行渲染。但是,如果我創建地圖,菜單消失。

失敗時,我的按鈕文本屬性設置爲false發生。我試圖做這2種方式

(1)

$("#zoomIn").button({ icons: { primary: 'ui-icon-zoomin' }, text: false }); 

(2)

$("#zoomIn").button({ icons: { primary: 'ui-icon-zoomin' } }); 
$("#zoomIn").button("option", "text", false); 

如果我不菜單顯示正確設置此屬性,但沒有在按鈕上的文字。

該按鈕的HTML是

<button id="zoomIn">xxx</button> 

我包括下列文件(這些是從jQuery UI演示頁)

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js" type="text/javascript"></script> 
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script> 

我曾嘗試包括本地副本的jQuery庫。

我被這個困惑。希望有人遇到這個問題並解決它。任何幫助深表感謝。

+0

你試過沒有設置文本選項的代碼?它工作嗎?如果是這樣,也許一個解決方法是從按鈕中刪除'xxx',但保留默認文本選項爲真 –

+0

@Rob。是的,我已經試過這個,它的工作原理。但它並不理想。如果我刪除xxx,按鈕會損失它的高度,如果我使用 ,則該按鈕將呈現,但由於圖標未居中在按鈕中,所以看起來不正確。爲了完整起見,我嘗試了$(「#zoomIn」)button(「option」,「text」,true),這也失敗了。因此,將屬性設置爲true或false會導致問題。 – richie

+0

同意,這不是一個真正的解決方案。看看添加到菜單中的類,它是.button()的項目。如果問題只在調用地圖渲染函數時顯現,則可能是類的衝突;將值得在地圖來源快速搜索js –

回答

0

終於找到了這個問題。

我使用一個jQuery UI樣式表,其中有一個風格

.ui-button-icon-only .ui-button-text, .ui-button-icons-only 
.ui-button-text { padding: .4em; text-indent: -9999999px; } 

設置文本縮進到-999px;解決了這個問題。