qTip2小技巧 為多個目標元素共享乙個tip

2021-06-07 21:23:22 字數 3732 閱讀 2174

jquery為元素提供click、bind等方法繫結事件,但假如需要繫結事件的元素過多的話(如$("a")),不管是查詢元素還是逐個繫結事件都比較影響效率;所以jquery還提供了效率更高live方法,以及效率最高的delegate方法,來處理此類問題。

在使用qtip2的時候,也存在繫結tip的效率問題,不但要查詢元素、繫結事件、及為每乙個元素建立tip,比較浪費資源;幸好,qtip2也提供了類似live/delegate的方式來繫結tip;當然,如果嫌qtip2提供的不夠好,那也完全可以用jquery.delegate方法來實現。

以下就這3種方式來實現為多個目標共享乙個tip逐一演示,首先假定頁面存在以下元素:

1

2

3

<pid="demo1">

ahref=""target="_blank"title="囧月">囧月

這也是官方demo中使用的方法,主要演示為有title屬性的a標記顯示tip:?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

// 選擇demo1下有title屬性的a標記

varelems = $('#demo1 a[title]')

// 移除title屬性,儲存title到tooltip屬性中

.each(function(i) )

.removeattr('title');

// 建立乙個用於共享的tip

$('').qtip(

,

show: ,

hide: ,

events:

}

}

});

這種方法通過在指定區域建立乙個tip,並跟隨滑鼠指標移動,實時顯示當前指向目標的內容:?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

varsettext =function(event, api)

};

// 在指定區域建立用於共享的tip

$('#demo1').qtip(

// tip位置偏移,防止遮住滑鼠指標

},

events:

});

當然,這種方法有乙個缺點,就是無法針對容器內特定的標記進行提示,所以這種方法比較適用於**。

ps:或許是我沒找到方法,反正通過api的show/hide方法,經常會顯示不出來。

這種方法是直接建立乙個tip,然後通過mouseover/mouseout事件來控制tip的顯示隱藏?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

// 建立用於共享的tip

varapi = $('').qtip(

}).qtip("api");

// 監聽事件

$("#demo1").delegate("a","mouseover mouseout",function(e)else

api.hide();

});

以上方法僅僅只是一些嘗試,還有一些不完善的地方,當然相對來說還是官方demo提供的方法完善一些;如果哪位tx有更好的方法,也請提供下。

最後還是提供一下demo。?

jquery提示外掛程式qtip2使用 全面

詳情參考 基本用法 1 只有簡單提示 2 帶標題的 3 設定位置 content position style my 是指三角的位置 at 是在提示在元件的相對位置 top 上 bottom下 left左 right右center中 兩組配合使用 4 設定風格 content position st...

2個小技巧

沉迷業務,無法自拔ing,今天就水一下好了。記錄 2 個小技巧,供以後開發時參考,相信對其他人也有用。一般對資料求最大值我是這麼求的 const max 1,2,3,4,5 reduce accu,curr accu curr accu curr 但是還有更簡單完全不需要考慮相容問題的方法 cons...

使用Vim 10 多個小技巧

vim 是很多開發者的首選編輯器,通過設定正確的命令和快捷方式,它可以幫你更快的完成工作。這篇文章我們為 vim 新手提供一些快捷鍵等方面的小技巧,幫你提公升工作效率。參考 當我最初使用 vim 的時候,我浪費了好多時間來縮排 我不知道通過修改 vim 的 vimrc 配置檔案來實現 縮排 語法高亮...