提示和execCommand

时间:2019-02-19 03:16:12

标签: javascript jquery prompt execcommand

如果我注释第1行而取消注释第2行,则此代码有效。提示有什么问题?

Uses StrUtils;

Var
strJson: String;

strJson:= ReplaceStr(strJson,'"[','[');
strJson:= ReplaceStr(strJson,']"',']');
strJson:= ReplaceStr(strJson,'\"','"');
vJSonArray:= TJSONObject.ParseJSONValue(strJson) as TJSONArray; //OK

1 个答案:

答案 0 :(得分:0)

.execCommand()必须位于事件处理程序中

.val()用于表单控件,但是.attr()也可以使用。在演示中,没有事件处理程序,其余代码将无法工作。请参阅Using .execCommand();

演示

演示中评论的详细信息

let parte = prompt("What is your name?");
let documents = "bla bla bla";
let $dummy = $("<input>");

// Use .val() for input values is better either one will work.
$dummy.val(parte + " " + documents);
//$dummy.attr("value", parte+ " " + documents);
$("body").append($dummy);

// You need to make an event handler
function copy() {
  $dummy.select();
  document.execCommand("copy");
  $dummy.remove();
}
$('.copy').on('click', copy);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<button class='copy'>Copy</button>

<fieldset class='edit' contenteditable>
  Paste Here
</fieldset>