#javascript
#javascript
Вопрос:
текст не выделен в js, перепробовал все методы. select()
и btn.select()
не выделять текст в текстовом поле
var in = document.getElementById("in");
var btn = document.getElementById("btn");
btn.onclick() = function(){
in.focus();
in.select();
in.setSelectionRange(0,9999);
document.execCommand("copy");
};
<body>
<input id="in" type="text">
<button id="btn" >Copy </button>
</body>
Комментарии:
1. Как этот код может выполняться, когда у вас есть переменная с именем
in
?2. на самом деле я новичок в js, я работаю в python ML, сделал мини-автоматизацию, так что …. надеюсь, вы понимаете мою ситуацию!
Ответ №1:
in
является зарезервированным ключом в javascript, поэтому не может его использовать, и вы должны удалить ()
его после onclick, когда хотите присвоить ему значение.
var inputField = document.getElementById("in");
var btn = document.getElementById("btn");
btn.onclick = function(){
inputField.focus();
inputField.select();
inputField.setSelectionRange(0, 99999)
document.execCommand("copy");
};
var linkTag = document.getElementById("link");
var btnLink = document.getElementById("btn-link");
btnLink .onclick = function(){
const range = document.createRange();
range.selectNode(linkTag );
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
};
<body>
<div>
<input id="in" type="text">
<button id="btn" >Copy </button>
</div>
<div>
<a href="google.com" id="link">google.com</a>
<button id="btn-link" >Copy </button>
</div>
</body>
Комментарии:
1. хорошо, но теперь я хочу скопировать текст из «a href», как это сделать? <тело> <a href=» google.com » id=»в»>google.com </a> <идентификатор кнопки=»btn» >Копировать </button> </body> <тип сценария=»текст / javascript»> var InP = document.getElementById(«in»);var btn = document.getElementById(«btn»); btn.onclick = функция(){ InP.focus(); InP.select(); InP.setSelectionRange(0,9999); document.execCommand(«копировать»); }; </script>
2. Я добавил способ сделать это с помощью href. попробуйте сейчас.
Ответ №2:
В вашем коде есть 2 проблемы:
in
это зарезервированное слово в js, поэтому вы не можете использовать его в качестве имени переменной.- Вы ошибаетесь в настройке события onclick для кнопки
btn.onclick() = function(){ // there should not have '()' after onclick
...
Вы должны проверить ошибку на консоли при выполнении кода.