作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我只是使用 js 的 execCommand 方法执行系统复制、删除等命令的简单操作。
我创建了两个文本区域,通过点击按钮我正在执行复制、剪切等命令。
问题:
在此情况下,粘贴按钮不起作用。就像我从一个文本区域复制一些文本一样,它不会粘贴到其他文本区域中。
此外,我只想仅对文本区域进行全选。就像如果光标位于 textarea1 上并且如果我点击 selectAll 按钮,它应该只选择 textarea1 内容。目前正在选择整个页面内容。
代码:
<script language="javascript">
function doCopy()
{
document.execCommand('Copy',false,0);
}
function doPaste()
{
document.execCommand('Paste');
}
function doCut()
{
document.execCommand('Cut',false,0);
}
function doSelectAll()
{
document.execCommand('SelectAll',false,0);
}
function doDelete()
{
document.execCommand('Delete',false,0);
}
function doUndo()
{
document.execCommand('Undo',false,0);
}
function doUnselect()
{
document.execCommand('Unselect',false,0);
}
</script>
</head>
<body>
<div align="center">
input values : ---- <br>
<textarea align="left" id="txtArea" name="txtArea" style="width:300px; height:50px"></textarea>
<br>
<input type="button" id="btnCopy" name="btnCopy" value=" Copy " onclick="doCopy()" />
<input type="button" id="btnCut" name="btnCut" value=" Cut " onclick="doCut()" />
<input type="button" id="btnSelectAll" name="btnSelectAll" value=" Select All " onclick="doSelectAll()" />
<input type="button" id="btnPaste" name="btnPaste" value=" Paste " onclick="doPaste()" />
<input type="button" id="btnDelete" name="btnDelete" value=" Delete " onclick="doDelete()" />
<input type="button" id="btnUndo" name="btnUndo" value=" Undo " onclick="doUndo()" />
<input type="button" id="btnUnselect" name="btnUnselect" value=" Undo " onclick="doUnselect()" />
<br>
Manipulate <br>
<textarea align="left" id="txtArea1" onpaste="alert('yes');" name="txtArea1" style="width:300px;height:70px" ></textarea>
</div>
我正在为 IE9 执行此操作。
最佳答案
我必须做出重大改变,我希望这对你来说没问题。这个解决方案需要jquery。我已经用 Chrome 和 Firefox 测试过,但我没有 IE9。
var copy = "";
var focused_field = null;
$("#btnCopy").click(function(){
//set copy variable to the selected text
txtArea = document.getElementById("txtArea");
var start = txtArea.selectionStart;
var end = txtArea.selectionEnd;
copy = $(txtArea).val().substring(start, end);
});
$("#btnCut").click(function(){
//set copy variable to the selected text and cuts it
txtArea = document.getElementById("txtArea");
var start = txtArea.selectionStart;
var end = txtArea.selectionEnd;
copy = $(txtArea).val().substring(start, end);
$(txtArea).val(
$(txtArea).val().substring(0,start)+
$(txtArea).val().substring(end)
);
});
$("textarea").focus(function(){focused_field = $(this);});
$("#btnSelectAll").click(function(){
//select all in focused field
if(focused_field)
focused_field.select();
});
$("#btnPaste").click(function(){
//paste copyed text to manipulate field
txtArea1 = document.getElementById("txtArea1");
$(txtArea1).val($(txtArea1).val()+copy);
});
这是example .
关于javascript - 如何使用js粘贴文本行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8559867/
我是一名优秀的程序员,十分优秀!