Tôi đang cố sao chép vào khay nhớ tạm mà không sử dụng Flash, tôi dự định quay trở lại Flash với việc sử dụng ZeroClipboard nếu trình duyệt không tương thích với phương pháp javascript.Sử dụng execCommand (Javascript) để sao chép văn bản ẩn vào clipboard
Tôi có một người biết lắng nghe onClick cho nút trông giống như:
$(buttonWhereActionWillBeTriggered).click(function(){
var copyDiv = document.getElementById(inputContainingTextToBeCopied);
copyDiv.focus();
document.execCommand('SelectAll');
document.execCommand("Copy", false, null);
}
và một lĩnh vực đầu vào như sau:
<input type="text" name="Element To Be Copied" id="inputContainingTextToBeCopied" value="foo"/>
này hiện đang hoạt động như mong đợi nhưng thiết kế đòi hỏi rằng lĩnh vực này chứa văn bản cần sao chép là vô hình. Tôi đã thử cả hai thiết type="hidden"
và style="display: none"
không phải trong đó đã thành công. Cả hai kết quả là nút chọn toàn bộ trang và sao chép toàn bộ nội dung vào khay nhớ tạm của người dùng.
Tôi tương đối tự tin không phải là nguyên nhân dựa trên trình duyệt mà chỉ ở trong trường hợp đó, tôi đang thử nghiệm trên Chrome (Phiên bản 43.0.2357.134 (64-bit)) trên Mac OS X 10.10.4.
Có cách nào mà tôi có thể duy trì các chức năng của khi < input> là có thể nhìn thấy trong khi giấu nó? hoặc nếu không phải là một tuyến đường thay thế tôi có thể đi?
Tôi biết các câu hỏi tương tự, không có câu hỏi nào giải quyết được vấn đề của tôi, quá cũ, không thực sự sử dụng Javascript hoặc không phù hợp với kịch bản cụ thể. Here's a good answer cho bất cứ ai có vấn đề tương tự, ít cụ thể hơn.
Bạn hãy thử opacity: 0? – DavidDomain
@DavidDomain Tôi vừa thử nó và nó hoạt động, đó là tuyệt vời, cảm ơn bạn! Nhưng tiếc là nó vẫn để lại div seethrough và di chuyển thiết kế, nếu một giải pháp tốt hơn không đi lên tôi sẽ đi với điều này và thiết lập các lĩnh vực đầu vào để 1px x 1px. Nếu bạn muốn trả lời tôi sẽ vui vẻ chấp nhận nếu không có gì tốt hơn đi lên. Cảm ơn một lần nữa! –
Điều gì nếu bạn sử dụng jQuery để hiển thị() đầu vào, sau đó gọi sao chép, sau đó ngay lập tức ẩn() nó một lần nữa? – pokkanome