私は通常、Javascript をあまり使用しませんが、ここ数日、この問題に取り組んできました。基本的に、テキスト自体がリンクであるテーブルにテキストがあり、クリックするとテキストが選択されます。リンクの上にカーソルを置いたときに、「クリックしてテキストを選択してください」というメッセージを表示するために Tipsy を使用しています。リンクがクリックされた後 (およびテキストが選択された後)、Tipsy が表示する元のテキストをハイパーリンクに変更したいと考えています。テキストを変更することはできますが、リンクはクリック可能なリンクではなくプレーン テキストです。
1 行のテキストのサンプルを次に示します (関数 fnSelect はクラスを使用して、表の行内のすべてのテキストを選択します)。
<td class="text"><a id="fade_text1" href="javascript:fnSelect('tom1');" onClick="alternate()" original-title="Click To Select Text"><?php echo $book['text']; ?></a></td>
関数 alternate() は、元のタイトルを変更してハイパーリンクを表示するために使用しようとしているもので、次のとおりです。
function alternate() {
$(".tipsy").remove();
var link = "site.com/bookmark.php";
var element = document.createElement("a");
element.setAttribute("href", link);
element.innerHTML = "Bookmark Text";
document.body.appendChild(element);
$('#fade_text1').tipsy({delayIn: 90, delayOut: 3000});
$('a').click(function() {
$('#fade_text1').attr('original-title', element);
});
}
要素リンクをクリック可能にする方法を見つけようとしてこれを何回変更したかわかりませんが、うまくいきませんでした。あなたが提供できる助けをいただければ幸いです。