Onpaste – vložení ze schránky

U formulářových polí <input>/<textarea>, kde je reálné očekávat, že bude člověk vkládat ze schránky, se hodí toto vložení odchytit. Uživatelé některé údaje kopírují, takže vložení lze současně chápat jako pokyn k validaci.

<input onpaste="vlozeno()">

V novějších prohlížečích (IE 9+) jde místo onpaste použít universálnější událost oninput, která se při vložení ze schránky (Ctrl + V) rovněž vyvolá, ale není z ní přímo patrné, že se jedná o vložení.

Prodleva onpaste

Trošku záludné je chování onpaste v tom, že se událost provede předtím, než se obsah vloží do políčka. Následující kód tedy zobrazí po vložení předchozí hodnotu, což je většinou nežádoucí.

<input onpaste="alert(this.value)">

Řešení je práci s hodnotou pole obalit do časovače.

<input onpaste="
  var that = this;
  setTimeout(function(){
    alert(that.value)
  }, 0)
">

Výsledek:

Vzhledem ke složitějšímu programování uvnitř atributu se nabízí obsluhu pro vložení vytvořit jako samostatnou funkci a v atributu ji pouze zavolat – onpaste="vlozit(this)". Pozměněná ukázka se stejnou funkčností:

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Kopírování do schránky

Kopírování do schránky

Jak s použitím JS zkopírovat uživateli nějaký text do schránky.

Fixní postranní panel

Jak vytvořit fixovaný banner?

JavaScriptové řešení prvku, který při rolování zůstane stále viditelný.

Aktivování/deaktivování okna

Zachycení aktivování a deaktivování okna v JS

V JavaScriptu lze relativně snadno reagovat na aktivování nebo deaktivování okna/záložky/tabu.

Baterka v CSS a JavaScriptu

Vytvoření efektu baterky v CSS a JS

Jak jednoduše vytvořit na stránce efekt baterky? Tedy ztmavit web a prohlížet ho jakýmsi průzorem.

Test existence obrázku JavaScriptem

Ověření existence obrázku pomocí JS

Jak JavaScriptem ověřit existenci obrázku?

Komentáře