Можно ли определить, был ли текст вырезан и вставлен в текстовое поле на веб-странице?

Возможно ли использование какого-либо кода на стороне клиента для обнаружения вырезания и вставки?

Единственное решение, которое я могу придумать, - это постоянно получать длину текста, и если она резко меняется в течение определенного периода, то предположим, что текст был вставлен.


person Diskdrive    schedule 06.08.2010    source источник
comment
какой объем текста мы говорим, потому что я печатаю довольно быстро :)   -  person Doon    schedule 06.08.2010


Ответы (2)


Похоже, что единственный способ узнать, изменился ли текст с помощью всех безумных способов, которыми текст может быть вставлен в текстовое поле, может быть отслеживание значения в интервале ... проверка того, когда следующее значение интервала отличалось от предыдущего ... который обнаружит любые изменения, но это не очень изящное решение (кажется излишним) ...

person davidsleeps    schedule 06.08.2010

да. Добавьте прослушиватель событий keydown и найдите keyCode 86 и e.ctrlKey == true. Похоже, об этом спросили и ответили в этом сообщении и это сообщение

person umop    schedule 06.08.2010
comment
Если цель состоит в том, чтобы просто определить, был ли вставлен текст, я буду использовать оба предложенных способа: один из umop, наблюдая, когда клавиша V и клавиша управления нажимаются одновременно, и если какой-то текст резко увеличился ... - person Garis M Suero; 06.08.2010
comment
что, если вы выберете Edit - Paste из меню? - person Diskdrive; 06.08.2010
comment
я вставляю с помощью средней кнопки мыши - person dotjoe; 06.08.2010
comment
Нашел другой, более исчерпывающий пост. Отредактировал свой ответ в соответствии с требованиями. - person umop; 06.08.2010