如何创建一个弹出框,用户可以在其中复制文本
How to create a popup box where users can copy text?
在我的HTML页面中,我生成了一个链接,用户可以在其中抓取并使用。我需要以某种方式给用户一个链接,让他们可以看到链接,然后将链接复制到剪贴板。
我的意思不是通过代码复制到剪贴板,只需手动选择文本并单击ctrl+c
或right click+copy
即可。
有没有一种方法我可以创建一个弹出框,其中有文本,你可以选择和复制?
这需要适用于所有浏览器(IE8+)(Firefox)(Chrome)(尤其是IE8)。因此,如果我使用提醒框,我将无法复制文本,因此我无法使用提醒。
有没有一些真正简单的方法,不涉及大量代码,也不使用另一个HTML文件弹出框或其他什么。
我甚至可以使用jquery,如果这很容易的话。实际上,这只是一种显示弹出窗口的方式,用户可以在其中复制文本,而这一切都是用代码完成的。
谢谢。
您可以使用jQuery ui .dialog()
JS:
$(function() {
$( "#dialog" ).dialog();
});
HTML:
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
您可以尝试使用window.prompt()并执行以下操作:http://www.w3schools.com/js/tryit.asp?filename=tryjs_prompt在那里,您可以从输入中复制文本,输入可以默认为链接。
使用jquery,您可以执行类似的操作
$(function() {
$( "<div>Your text here </div>" ).dialog();
});
我会使用一个覆盖的div,它会出现在点击事件中。它将包含您希望能够复制的文本和一个关闭按钮。(使用jQuery!)
首先将div的内容保存在一个字符串变量中。让我们把这个变量称为divCont
。
之后,我们创建了覆盖div:
var docHeight = $(document).height();
$("body").append("<div id='overlayDiv'></div>").hide().fadeIn("slow");
$overlayDiv = $("#overlayDiv");
$overlayDiv.height(docHeight).css({
'opacity' : 0.9,
'position': 'absolute',
'top': 0,
'background-color': 'black',
'width': '100%',
'z-index': 5000,
'margin-left': 10%,
'margin-right': 10%,
'color': 'white'
});
然后,我们用divCont字符串附加$overlayDiv的内容,并在其中添加一个关闭按钮:
$overlayDiv.append(divCont+"<button id='close'>CLOSE</button>'");
在这之后,我们添加了一个处理程序来关闭:
$("#close").ready(function(){
$(document).on("click", "#close", function(){
$overlayDiv.fadeOut("slow", function(){
$overlayDiv.remove();
});
});
});
链接到工作示例->fiddle
在屏幕中间(或您希望的位置)创建一个固定的div,其中包含一个输入文本框。您可以在生成链接时触发此结构。
检查这个小提琴
<div id = "clipboard">
<input type = "text"></input>
</div>
CSS样式将是
#clipboard{
position: fixed;
left: 40%;
top: 40%;
width: 100px;
height: 30px;
border: thin solid grey;
}
#clipboard input{
width: 100%;
height: 100%;
}
您可以使用iframe
--------opener.html
<html>
<head>
<title>modalopener</title>
<script language="JavaScript" type="text/javascript">
var modalWin = null;
function openModal() {
if (window.showModalDialog) {
modalWin = window.showModalDialog('modalchild.html',null,'dialogWidth=300px; dialogHeight=200px; status=0');
}
}
</script>
</head>
<body>
<a href="javascript:openModal()"><b>open modal window</b></a>
</body>
</html>
--------modalchild.html
<html>
<head>
<title>Modal Child</title>
</head>
<body leftmargin="0" topmargin="0">
<iframe name="modalChild" width="100%" height="100%" src="modaliframe.html" frameborder="0"> </iframe>
</body>
</html>
--------modaliframe.html
<html>
<head>
<title>Modal Iframe</title>
</head>
<body leftmargin=0 topmargin=0 bgcolor="pink">
<div align="center"><br>
<a href="#" onclick="loadIFrm('http://www.yahoo.com')">yahoo</a><br>
<a href="#" onclick="loadIFrm('http://www.google.com')">google</a><br>
<a href="#" onclick="loadIFrm('http://www.hotbot.com')">hotbot</a>
</div>
<script language="JavaScript" type="text/javascript">
// call this to reload
function loadIFrm(url) {
location = url;
}
</script>
</body>
</html>
- 使用jQuery动态添加表并在其中动态添加行
- 使用javascript反复检查用户在facebook上的登录状态
- 如何检查用户在html5视频播放器中观看了完整的视频
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 如何强制用户在javascript提示中输入值
- Javascript未在其中一个变量上输出0
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如何让iPhone用户在我的网站上观看带字幕的视频
- javascript在其中设置空格时会中断
- 如何循环请求用户输入,直到用户在Acrobatneneneba XI中输入信息
- 阻止用户在字段中粘贴
- 如何将此转盘调整为仅当用户将鼠标悬停在其中一个框上时暂停
- 多个输入,用户只能在其中一个输入中输入
- 如何创建一个倒数计时器,用户在其中输入任何数字并将其从该数字显示为零
- 如何创建一个弹出框,用户可以在其中复制文本
- 用javascript制作小费计算器,用户可以在其中输入他们想要的小费百分比并计算按钮;t工作
- 如何用HTML创建netsuite电子邮件模板,并在其中使用freemaker访问用户数据
- 倒计时计数器,用户可以在其中输入结束日期
- 用户可以在其中输入正则表达式的输入表单