Это мой код для Chrome для обработки события вставки:Вставить событие стрельбы много раз
window.addEventListener("paste",processEvent);
function processEvent(e) {
console.log("paste event!");
}
Этот код работает отлично, за исключением, что событие вызывается много раз, даже если нажать команду CTRL+V
только один раз. Что может быть причиной? И как я могу предотвратить это, так как очень важно, чтобы обработчик запускал только один раз за нажатие команды paste.
Update:
Я вошел в консоль, и вот что я имею в виду:
paste event!
clipboard from event
item found: 0 kind=file type=image/png
found image!
paste event!
clipboard from event
item found: 0 kind=file type=image/png
found image!
paste event!
clipboard from event
item found: 0 kind=file type=image/png
found image!
Обратите внимание, как то же самое событие происходит в 3 раза.
Update 2:
Этот код на самом деле код GWT обернута вокруг JSNI:
public native void pasteEventHandler()/*-{
window.addEventListener("paste",processEvent);
function processEvent(e) {
console.log("paste event!");
}
}-*/;
И вызывается при @PostConstruct из приложения:
@PostConstruct
public void setup() {
pasteEventHandler();
}
Когда паста событие происходит с «страницей» с переходом на другую страницу (от # Page1 до # Page2. Когда переход страницы назад к # Page1, setup() m Этод загорелся.
Когда я говорю много раз, я имею в виду иногда два или три (3) раза – xybrek
Вы уверены, что нажимаете только один раз, и вы не держите нажатой комбинацию клавиш (CTRL + V) вниз? Здесь я сделал скрипку http://jsfiddle.net/XFPkt/, и когда я нажимаю на окно результатов (справа внизу) и нажимаю ctrl + v, я получаю только одно сообщение, если только не удерживаю его нажатой. –
Ваша разметка фигурных скобок неправильная. Кажется, – Shadow