Moderní tvorba webových aplikací
O webu

Vložení ze schránky onpaste

JavaScriptová událost onpaste slouží k odchycení vložení obsahu ze schránky.

2 minuty

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í:

Co si myslíte o tomto článku?

Diskuse

Související články

Kopírování do schránky

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

9 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026