12. april 2007 - 11:23Der er
20 kommentarer og 1 løsning
Deaktivere links?
Hejsa!
Jeg har en <div> med position:absolute som jeg skal bruge til at trække rundt på skærmen med drag'n'drop. Inde i den div har jeg en include som henter nogle links, men i form af at der er links i div'en lige pludseligt, så bliver jeg jo smidt væk fra siden hver gang jeg prøver at drag'n'droppe.. :-O
Så mit spørgsmål er om der er en måde hvorpå man kan deaktivere "indholdet" / links / osv. i en div?
Du kan kun disable de links ved at sætte ekstra kode på, mens du dragger ...
-- er det simple links, dvs. at de kun benytter sig af href til at linke, for så kan du ved dragstart sætte en return false ind i onclick på dem alle, og ved dragslut sætte onclick til null !-)
-- hvis onclick bruges i forvejen vil det ikke være helt så ligefremt, aber dann haben wir andere Methoden !o]
Så må du finde en måde, at identificere hele striben på en entydig måde ...
Hvis de alle sammen har/er links, er det ikke noget problem, men er der nogle imellem, der ikke har lnks, så skal der være en måde, hvorpå man kan springe disse over,både ved disabling og regenerering !-)
Skitse:
var onclicks = [];
//Skal udføres ved dragstart var divs = dragDiv.getElementsByTagName("div"); for(i=0,im=divs.length;im>i;i++){ onclicks[onclicks.length] = divs[i].onclick; divs[i].onclick = null; }
//Skal udføres ved dragslut for(i=0,im=divs.length;im>i;i++){ divs[i].onclick = function(){onclicks[i]};//jeg ved ikke om function(){} er nødvendig, men der kan du jo prøve dig frem }
- der findes en tilsvarende til Gecko, men jeg kan ikke lige huske navnet/syntaksen - og jeg sidder ikke ved min egen maskine ligenu. Prøv evt. Google for yderligere info ;o)
Men ikke helt efter hensigten.. måske også fordi jeg har fucket lidt op.. Den alerter godt nok alle div'sne, men min onclick = false virker ikke..
Jeg oprettede for sjov en enkelt div, med en enkelt div inden i der så havde en onclick. Dér virkede det fint. Til geeengæld virker det ikke på den der ser sådan her ud, på trods af at den alerter div'sne fint:
<div id="oste"> <table> <tr> <td> <div id="menu1" onclick="location.href='something.htm'"> bla bla </div> </td> <td> <div id="menu2" onclick="location.href='something.htm'"> bla bla </div> </td> <td> <div id="menu3" onclick="location.href='something.htm'"> bla bla </div> </td> </tr> </table> </div>
Lige for at vende tilbage til roenvings første kommentar (lige inden pointsne ryger ud):
"-- er det simple links, dvs. at de kun benytter sig af href til at linke, for så kan du ved dragstart sætte en return false ind i onclick på dem alle, og ved dragslut sætte onclick til null !-)"
Dét problem har jeg faktisk nu i en anden div, så hvordan gør man det hurtigt og simpelt? :-D
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.