사용자가 텍스트를 쓰거나 붙여 넣을 때 필드의 텍스트를 자르려면 다음 코드는 훌륭하지만 한 가지 문제가 있습니다. 사용자가 붙여 넣은 텍스트로 바꾸거나 모든 텍스트를 바꿀 텍스트를 선택하면 커서를 붙여 넣어 텍스트를 삽입하면 코드는 현재 값 + 끝에있는 새 값을 반복합니다. 어떻게 해결할 수 있습니까?jquery에서 마지막으로 붙여 넣은 텍스트를 가져 오는 방법은 무엇입니까?
$(document).on('paste', "input[type='text'], textarea", function(e) {
let val = $(this).val();
val = val.trim();
val = val.replace(/(?:^\s+|\s+?(\s))(\S+)/g, "$1$2");
val = val.replace(/\s+(\s)$/, "$1");
$(this).val(val);
});
내가 무엇을 내가해야 할 것은 그것을 일반적으로 붙여 최종 붙여 넣은 텍스트를 얻을 트림하는 것입니다 생각하지만, 그 최종 붙여 넣은 텍스트를 얻는 방법 질문은? 도울 수 있니?
'input'의'blur' 이벤트에서 트리밍을 수행하고 트리밍 한 이전 값으로 값을 재설정하면됩니다. –
@ScottMarcus 나는 블러를 사용하고 싶지 않다. 내가 좋아하는 곳에서 CTRL + V를 누르고 텍스트가 잘라지기를 바란다. –
당신은 Ctrl + insert와 Right Mouse 컨텍스트 메뉴와 다른 가능성을 호스트하는 것이 값을 붙여 넣을 수 있다는 것을 알고 있습니까? – Theo