Document.exec命令不能按我预期工作
Document.execCommand do not work as I expected
这是我的表格
<table>
<tr>
<th>Name</th>
<td>Paul Johnson</td>
<th>Street</th>
<td>Fake Street</td>
</tr>
<tr>
<th>State</th>
<td>California</td>
<th>Car</th>
<td>Cadillac</td>
</tr>
</table>
我的脚本由mouseenter事件执行:
$('th').on("mouseenter mouseleave", function(e) {if (e.type === 'mouseenter') {
});
在它里面是这个工具栏,里面有链接对象
toolbar = $("<div />").css({
"padding": "5px",
"background" : "#F8F8F8",
"borderRadius" : "5px 0 5px 5px"
});
var link = $("<a />").css({
"display" : "block",
"height" : "20px",
"width" : "20px",
"marginBottom" : "5px",
"background-size" : "100%",
"position" : "relative"})
.attr({"target" : "_blank"});
我的变量thisNext
它获取下一个 td 元素的文本
var thisNext = $( $(this).next() ).text();
问题为什么我的 var 副本没有复制thisNext
值 altrough console.log
按预期工作?
编辑 :目标是,如果您单击"复制"附加在名称上的示例对象,则进入剪贴板保罗约翰逊。如果在街上,则复制假街等。
var copy = link.clone().on("click", function (e) {
e.preventDefault();
console.log ("thisNext ");
thisNext.execCommand('copy');
}
工作笔
问题来自以下行:
thisNext.execCommand('copy');
copy
命令始终复制选择,因此我们必须首先选择td的内容,然后执行注释,最后重置选择:
var copy = link.clone().on("click", function (e) {
e.preventDefault();
var td = e.target.parentNode.parentNode;
do {
td = td.nextSibling;
} while(td && td.nodeType !== 1); // 1 == Node.ELEMENT_NODE
var range = document.createRange();
range.selectNode(td);
window.getSelection().addRange(range);
document.execCommand('copy');
// Remove the selections - NOTE: Should use
// removeRange(range) when it is supported
window.getSelection().removeAllRanges();
})
注意:您可以使用此链接检查您的浏览器是否支持复制命令。
希望这有帮助。
相关文章:
- jQuery dosn'内联函数不能按预期工作
- Javascript-将函数分配给变量dos'不能按预期工作
- JavaScript - 为什么加法赋值运算符不能按预期工作
- Node.js承诺q不能按预期工作
- 为什么 javascript 中的 for 循环不能按预期工作
- 为什么.on()在jquery中不能按预期工作
- Undercore模板没有'不能按预期工作
- javascript命令可以单独工作,但不能按顺序作为bookmarklet
- 为什么这个简单的 for 循环不能按预期工作
- 为什么我的Javascript函数不能按预期工作
- 为什么.size()不能按我认为的方式工作
- 否定字符不能按预期工作?^
- 为什么我的addClass removeClass和事件处理程序不能按预期工作
- .getElementById(“;)不能按要求工作
- three.js lookat()函数不能按我的需要工作
- 排序dgrid列不能按预期工作
- 控制器之间的数据共享不能按预期工作
- 创建由每个子数组的最大值组成的数组不能按预期工作
- 要求定义的模块不能按预期工作
- 以编程方式调用onclick和onchange不能按预期工作