我的情况是用户需要粘贴超链接,应用程序必须解析附加到给定文本的链接。
例如,用户粘贴Bob Phil
我想获取附加到此超链接名称的链接并将其存储在变量中(我使用的是JQuery)
复制并粘贴超链接名称只会在输入字段中显示原始文本,因此我无法获取该链接。
我很感激任何帮助/见解。
更新:要了解我的意思,只需将Test Link复制并粘贴到Google表格中即可。您将看到Sheets识别超链接。我该怎么做呢?类似的东西?
答案 0 :(得分:1)
在线电子表格挂钩Ctrl + C,Ctrl + V并将焦点转移到隐藏的textarea。然后他们阅读textarea中的文本。
答案 1 :(得分:0)
在'Paste'
标记上绑定Input
。
访问Clipboard
数据以获取文字和HTML。试试片段。
$(document).ready(function(){
$('#source').bind('paste', function (e) {
// Prevent while Pasting Data
e.preventDefault();
// For Internet Explorer (not working)
if( window.clipboardData )
{
var content1 = window.clipboardData.getData('text');
$('#source').val(content1);
$('#target').val("Use Other Browser to Avail this Facility.");
}
// for Other Browsers (tested on FireFox, Chrome & EDGE)
else if( e.originalEvent.clipboardData )
{
var plainText = (e.originalEvent || e).clipboardData.getData('text/plain');
var htmlText = (e.originalEvent || e).clipboardData.getData('text/html');
var hrefArray = new Array();
// Store Html Data in Temporary Div
var TempDiv = $('<div></div>').append(htmlText);
// Get HREF of each Anchor Tag
$('a', TempDiv).each(function(){
hrefArray.push($(this).attr('href'));
});
$('#source').val(plainText);
$('#target').val(hrefArray.join('\r'));
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Copy & Paste this line <a href="https://stackoverflow.com/questions/tagged/javascript">Link1</a> <a href="https://stackoverflow.com/questions/tagged/html">Link2</a> into input textbox<br>
<input type=text id=source style="width:400px; border: solid 1px #000;">
<br>
<textarea id=target style="width:400px; height:200px; border: solid 1px #000;"></textarea>
答案 2 :(得分:0)
在同事的帮助下,我能够做到这一点:
<强>的index.html 强>
<div contenteditable="true"">
Paste something...
</div>
<强> test.js 强>
$(function(){
$("div").on("paste", function(){
setTimeout(function(){
console.log($("div").html());
},100);
});
});
设置contenteditable="true"
,然后通过$("div").html()
抓取HTML,允许我将其存储在变量中并通过它解析,以便在粘贴到<div>
<后将链接附加到超链接/ p>