JQueryUI tooltipを使用して、ユーザーに動的メッセージを表示しています。基本的に、ユーザーがボタンをクリックしたときに、入力フィールドの上にツールチップを表示したいと思います。
私がコーディングした方法は、ボタンの上にカーソルを置いたときにのみ機能し、JQueryUIの例では、このシナリオを達成するための助けがありません。ホバー効果とどのように違い、ボタンのクリックイベントで動作するのですか?どうすればこれを達成できますか?
これにはjquery-ui-1.9.0.custom.js
とjquery-1.8.2.js
を使用しています。
HTML Code:この入力ボックスの上にメッセージを表示したい
<input id="myInput" type="text" name="myInput" value="0" size="7" />
ポップアップツールチップに順番にクリックするボタン
<input id="myBtn" type="submit" name="myBtn" value="myBtn" title="this is not used" class="myBtn" />
JQueryコード
$(document).ready(function() {
$(".myBtn").tooltip({
content: function () {
return '<span id="msg">Message</span>';
},
position: {
my: "center bottom",
at: "center top"
}
});
});
最も簡単な方法は、myBtn
のタイトル属性を削除し、ツールチップを別の要素に移動することです。例えば:
_<a id="myTooltip" title="Message"></a>
_
次に、次のことができます。
_$('#myTooltip').tooltip({
//use 'of' to link the tooltip to your specified input
position: { of: '#myInput', my: 'left center', at: 'left center' }
});
$('#myBtn').click(function () {
$('#myTooltip').tooltip('open');
});
_
同様に、ツールチップを閉じることができます
_$('#myTooltip').tooltip('close');
_
ツールチップを開いた後で自動的に閉じるには、close
イベント内でopen
メソッドを呼び出すだけです。
_$('#myTooltip').tooltip({
open: function (e) {
setTimeout(function () {
$(e.target).tooltip('close');
}, 1000);
}
});
_
_e.target
_(this
はopen
イベント内では機能しないため)とsetTimeout()
を使用して、ツールチップが閉じるまでの時間制限を設定します。