2013-09-28 37 views
5

因此,當使用Knockout.js將工具提示應用於某些KO綁定的HTML元素時,我使用了knockout-bootstrap.js庫來輔助引導工具提示初始化。引導屏幕在iPad上跳轉的工具提示

<a href="#" data-bind="attr: { tabindex: -1 }, tooltip: { title: buyerHelp, placement: 'top', trigger: 'click', container: 'body' }"><i class="glyphicon glyphicon-help"></i></a> 

我使用觸發器:「點擊」,而不是懸停因爲懸停提示不要再隱藏自己曾經使用iPad顯示屏。當我點擊工具提示圖標時,工具提示顯示正常,但如果頁面滾動,則會跳回頂部。我不確定這個問題應該採取什麼方向。

我目前使用Bootstrap 3.0,但與Boostrap 2.3有同樣的問題 謝謝!

回答

3

單擊時是否實際遵循鏈接?如在頁面中點擊後嘗試加載錨點的href值的頁面?由於整個標籤不包含在你的例子中,我不知道它是否是一個錨點。而且我不確定knockout-bootstrap.js庫是否確保數據綁定事件不會返回(因爲它們會在默認點擊事件上)。如果錨點試圖在點擊後跟隨鏈接,則可以嘗試觀看點擊事件並防止數據綁定中的事件。如提示後:

data-bind="attr: { tabindex: -1 }, tooltip: { title: sellerHelp, placement: 'top', trigger: 'click' }, click: function(data, event) { event.preventDefault(); }" 

希望幫助!

另外一般情況下,最好是在viewModel中擁有該處理程序,並阻止該處理程序從該處處理,而不是內聯處理。

可能會很好的點擊事件在淘汰賽處理以及的方式讀了起來:http://knockoutjs.com/documentation/click-binding.html

+1

也可以使用'clickBubble:false'綁定,但如果沒有點擊事件,你必須添加一個簡單的返回true:'click:function(){return true; },clickBubble:false' – mduminy

+0

這是一個錨點,我已經更新了我的問題以反映這一點,我只是刪除了href =「#」,你的答案提醒我要做,我不相信我忽略了它 –

2

可能會增加container: 'body'到選項哈希能幫上忙,這樣的:

data-bind="attr: { tabindex: -1 }, tooltip: { title: sellerHelp, placement: 'top', trigger: 'click', container: 'body' }" 
+0

我將很快測試了這一點,得讓我的手在iPad上,謝謝! –

+0

不幸的是,這並沒有工作 –

0

我發現,與CSS玩弄通常會解決這個問題。

我建議嘗試添加/刪除一個位置:相對於父項。

另外,這裏是在過去造成的問題,我下面的CSS屬性: - 位置 - 保證金 - 高度

沒有一個小提琴看很難說這到底是什麼。自演示開始,這不是圖書館,他們有一個實例。