Avatar billede azerty Juniormester
05. december 2010 - 14:56 Der er 6 kommentarer og
1 løsning

Disable select

Hej!

Her kommer et spørgsmål - faktisk to - som jeg har kæmpet med i timevis:

Med nedenstående script forhindrer jeg, at brugeren med venstre museknap selecter alt på websiden:

<script type="text/javascript">

var omitformtags=["input", "textarea", "select"]

omitformtags=omitformtags.join("|")

function disableselect(e){
if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
return false
}

function reEnable(){
return true
}

if (typeof document.onselectstart!="undefined")
document.onselectstart=new Function ("return false")
else{
document.onmousedown=disableselect
document.onmouseup=reEnable
}


</script>

Hensigten er IKKE at forhindre folk i at kopiere min tekst eller mine billeder - det må de da gerne. Nej, hensigten er mere layout-mæssig: Det ser dumt ud, når brugeren kan gøre teksten eller billederne "blå" ved at køre hen over med venstre museknap trykket ned.

Problemet er, at select også forhindres i textarea, hvor jeg helst så, at brugeren stadig har mulighed for at selecte (mhp. Ctrl -a (-c -v).

Kan man gøre noget ved ovenstående script, så det udelukker "textarea"?

Jeg har selvfølgelig prøvet at fjerne "textarea" øverst i scriptet, men det hjælper ikke noget.

---

Jeg har også prøvet dette script:

<script type="text/javascript">

function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
    target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
    target.style.MozUserSelect="none"
else //All other route (ie: Opera)
    target.onmousedown=function(){return false}
target.style.cursor = "default"
}

</script>

Her skal flg. placeres nederst i BODY:

<script type="text/javascript">
var somediv=document.getElementById("mydiv")
disableSelection(somediv) //disable text selection within DIV with id="mydiv"
</script>

og det valgte element skal i DIV:

<DIV ID="mydiv">.....</DIv>

Det virker også - men kun på tekst, ikke på billeder.

Er der en måde at få dette script til også at forhindre selection på billeder?
Avatar billede jakobdo Ekspert
05. december 2010 - 15:04 #1
Du mener ikke seriøst du vil deaktivere at en bruger kan selecte text på din side ?

Hvad så med CTRL + A ?
Avatar billede jakobdo Ekspert
05. december 2010 - 15:06 #2
Men kunne du så ikke bare skifte farven på selection ?

Ala:

::selection {
    background: #fff; /* Safari */
    }
::-moz-selection {
    background: #fff; /* Firefox */
}
Avatar billede jakobdo Ekspert
05. december 2010 - 15:07 #3
Og det virker selvfølgelig ikke i IE. :o)
Avatar billede azerty Juniormester
05. december 2010 - 15:15 #4
Som sagt - det er en layoutting.

Det er ikke så meget tekstkopiering, der generer mig. Det er primært highlight af billederne (som enhver kan downloade med højklik - gem som...).

det er interessant med select-baggrundsfarven - og en skam, at det ikke virker i IE

:-)
Avatar billede jakobdo Ekspert
05. december 2010 - 15:23 #5
Jeg forstår stadig ikke det er et problem du prøver at løse.
For hvor mange sidder og markere tekst/billeder på en side ?
Og hvorfor overhovedet gøre det til et problem.
Det forstår jeg desværre ikke. :o)
Avatar billede azerty Juniormester
05. december 2010 - 16:58 #6
Det er fordi, det skal virke på et smartboard.

Hvis folk kommer til at flytte fingeren lidt uhensigtsmæssigt, bliver hele vinduet blåt ( i hvert fald dér, hvor der er billeder og tekst).

Til gengæld skal det være muligt at selecte i et textarea med fingeren.
Avatar billede azerty Juniormester
15. december 2010 - 15:31 #7
Der kommer vist ikke mere her, så jeg lukker spørgsmålet...
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

IT-JOB

Capgemini Danmark A/S

SAP S/4HANA Business Controlling

Politiets Efterretningstjeneste

Tech-studentermedhjælpere i PET

Ingeniørforeningen, IDA

Platform Engineer i IDA

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

BEC Financial Technologies

Java software engineer (regular)