2009-07-23 9 views
10
jQueryの程度

合計初心者の質問使用して、フォーカスを受け取ったときに、固定「ツールヒント」を表示します。私はいくつかのTextBoxを含むフォーム(入力タイプ=「テキスト」)を持っている入力はjQueryの

を。 TextBoxがフォーカスを受け取ったときに何らかのツールチップを表示し、フォーカスが失われたときに非表示にしたいと思います。理想的には、ツールチップは左側または右側の「スピーチ」バブルでなければなりません。

私は少しググとqTip for jQueryを見つけましたが、何かの上にマウスを移動するとき、それはツールチップのためのプラグインのようですが、私はしたいlayout and positioningを持っています。

テキストボックスにバインドするために私の素朴な試み:

$(function() { 
    $("input[id$=tbMyTextbox]").qtip({ 
     content: 'My Tooltip Text' 
    }); 
}); 

(セレクタ作品、それはASP.netだので、私は#tbMyTextboxを使用していない、と私は<% = tbMyTextBox.ClientIDを使用していません%>は私の.aspxファイルにコードを持てないためですが、それは話題にはなりません。セレクタ自体は他のものと連携しているので、それは問題ありません。

誰でも私にヒントを教えてもらえますか、それをする別のjQueryプラグインについて教えてください。

ありがとうございます!

編集:ありがとう、ショーイベントはトリックです!

$("input[id$=tbMyTextbox]").qtip({ 
     content: 'Test', 
     position: { 
      corner: { 
       target: 'rightMiddle', 
       tooltip: 'leftMiddle' 
      } 
     }, 
     show: { 
      when: { 
       event: 'focus' 
      } 
     }, 
     hide: { 
      when: { 
       event: 'blur' 
      } 
     } 
    }); 

答えて

12

あなたは、フォーカスイベントハンドラに示されることになるdisplay:noneに隠された要素に手動でツールチップを作成することができます。

$("input[id$=tbMyTextbox]").focus(function() { 
    $("div[id$=tooltip]").show(); 
}); 

$("input[id$=tbMyTextbox]").blur(function() { 
    $("div[id$=tooltip]").hide(); 
}); 

また、qTipのshowオプションを使用している可能性があります。私はqTipを使用したことがないので、これは私の目的では純粋に理論的ですが、オプションでshow: { when: { event: 'focus' } }を指定できるはずです。

http://craigsworks.com/projects/qtip/docs/reference/#show

+0

働いたおかげで、! –

3
$(function() { 
    $("input[id$=tbMyTextbox]").qtip({ 
     content: 'My Tooltip Text', 
     show: 'focus', 
     hide: 'blur' 
    }); 
}); 
+0

おそらく、これがなぜ「単純な方法」であるのか、それとも受け入れられた答えより優れているのか、あなたの答えを詳しく説明することができますか?ありがとう。 – Kev

+0

簡単な方法で、長いコードを入力する必要はありません。 – toha