我希望能够识别所选文本是否包含URL - 这个想法是,一旦用户选择内容可编辑div中的文本(如果它包含URL),该URL将显示在另一个内容可编辑div中以允许它们对URL进行更正。然后,如果他们对网址进行了更改,则会更新<a href>
。
我目前创建的代码允许用户选择任何文本并创建一个链接,只是导致问题的修正。
下面的代码是我的代码的一部分,当用户选择文本元素时,它将#指定为URL,然后一旦用户输入,他们就可以将http://链接写入名为#link的内容可编辑div中一个http://链接然后用链接更新#。
document.getElementById("insertHTML").onclick = function(e) {
var sText =document.getSelection();
document.execCommand('insertHTML', false, '<a href=# id ="data_link" target="_blank">' + sText + '</a>');
};
var contents = $('#link').html();
$('#link').blur(function() {
if (contents!=$(this).html()){
contents = $(this).html();
document.getElementById('data_link').setAttribute('href', contents);
document.getElementById('data_link').setAttribute('id', contents);
}
$('#link').empty();
});
任何想法都会很棒,到目前为止在网上没有任何运气
谢谢大家:)
答案 0 :(得分:1)
选择一些文字,您会看到它出现在警报中。您可以使用url取消注释该行,将其设置为您自己的URL并将文本放在您想要的任何位置,我只需将其放在我所做的位置,作为如何实现它的示例。选择文本后,它会将您带到该URL。
如果您想创建一个input type="button" id="myInputButtonId"
等链接到另一个页面,请使用
$("#myInputButtonId").on('click', function(){
而不是
$("#writtenstuff").on('mouseup', function () {
<强> HTML 强>
<div id="writtenstuff">
<p>The quick brown fox jumps over the lazy dog</p>
</div>
<强> JS 强>
$("#writtenstuff").on('mouseup', function () {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
if (text != "" && text != " ") {
alert(text);
//window.location.href = "http://www.someurl.com/"+text;
}
});