AJAXとPHPを使用してデータベースにデータが入力されたページがあります。「アイテムをリストに追加する」へのリンクがあり、リンクをクリックすると、qTipボックスがポップアップして、追加されたことを確認します。ただし、qTipを使用してこれを実行しようとすると、アイテムの追加に使用するonClickイベントが2回発生します。
これは、ページにデータを入力し、新しく作成されたdivのツールチップを初期化するAJAXの応答関数です。
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("contentdiv").innerHTML=xmlhttp.responseText; updateTooltip();}
}
これは私のツールチップ初期化関数です
function updateTooltip() {
$(".Tooltip").qtip({
content: "<a href='blah.html' target='_blank'>Item Added</a>",
show: 'click',
hide: 'none',
style: {
width: 500,
height: 12,
name: 'light'
},
position: {
corner: {
target: 'center',
tooltip: 'center'
}
}
});
}
これは、onClickイベントとのリンクを生成するPHPコードです
echo "<a class='Tooltip' target='_blank' onClick='addItem();'> Add To List </a>";
qTipを使用すると、onClickは2回しか起動しません。それ以外の場合は、1回クリックしたときにaddItem()が1回だけ起動するため、完全に正常に機能します。