Avatar billede netro Nybegynder
23. oktober 2006 - 05:46 Der er 3 kommentarer og
1 løsning

Tjek på paste i tekstfelt

Hvordan opdager jeg nemmest, når en tekst pastes ind i et tekstfelt - hvad enten det sker ved brug af mus eller keyboard?

Det er nok, at det fungerer i IE.
Avatar billede jhe-ting Nybegynder
23. oktober 2006 - 09:13 #1
Udvidet eksperiment med paste og drop, clipboard og dataTransfer object.

<HTML>
<HEAD>
<TITLE>onpaste experiment</TITLE>
<SCRIPT>
function ShowResults()
{
  arg = event.type + "  fired by  " + event.srcElement.id + " value : " + event.srcElement.value; 
  oNewOption = new Option();
  oNewOption.text = arg;
  oResults.add(oNewOption,0);
}

function ShowClip()
{
  arg = "on the clipboard : "+window.clipboardData.getData("Text"); 
  oNewOption = new Option();
  oNewOption.text = arg;
  oResults.add(oNewOption,0);
}

function ShowData()
{
  arg = "dragged : "+event.dataTransfer.getData("Text"); 
  oNewOption = new Option();
  oNewOption.text = arg;
  oResults.add(oNewOption,0);
}

function beforePasteHandler(){
    ShowResults();
}

function pasteHandler(){
    ShowResults();
    ShowClip();
}

function dropHandler(){
    ShowResults();
    ShowData();
}

function initPage(){
    oText.onbeforepaste = beforePasteHandler;
    oText.onpaste      = pasteHandler;
    oText.ondrop        = dropHandler;
}
</SCRIPT>
</HEAD>
<BODY onload="initPage();">
<h1>Test af onpaste event</h1>
<TEXTAREA id=oText>Paste text here to see some action</TEXTAREA><br>
<SELECT ID=oResults SIZE=25>
  <OPTION>List of Events Fired
</SELECT>

</BODY>
</HTML>
Avatar billede netro Nybegynder
24. oktober 2006 - 05:59 #2
Tak. Det ser spændende ud. Jeg kendte ikke til onbeforepaste. Går ud fra, at den er IE-specifik, men det er så også fint nok i dette tilfælde.
Avatar billede jhe-ting Nybegynder
24. oktober 2006 - 06:52 #3
Der er noget om at onbeforepaste skal returnere false for at onpaste overhovedet trigges.
I eksperimentet er der egentlig en fejl, da event-handlerne ikke returnerer noget.
Af systemet opfattes "undefined" som false, så derfor køres også 'pasteHandler'

Good luck.
Avatar billede netro Nybegynder
26. oktober 2006 - 04:59 #4
Egentlig var det begrænset, hvad jeg skulle bruge. Der skulle bare fjernes html-tags fra teksten, der indsættes, men onpaste var kodeordet. Så tak for det.

onpaste="window.clipboardData.setData('Text', removeTags(window.clipboardData.getData('Text')))"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester