webForumDet fria alternativet

Onclick body

18 svar · 760 visningar · startad av Boorg

BoorgMedlem sedan okt. 2004409 inlägg
#1

Finns det något sätt att göra en onclick i body tagen?

Web-TorMedlem sedan nov. 200013 890 inlägg
#2
<html>
	<head>
		<title></title>
	</head>
	<body onclick="alert('body')">Innehåll</body>
</html>
BoorgMedlem sedan okt. 2004409 inlägg
#3

Jag har testat denna... men den ville sig inte..

<body onclick="href='a'">

@ndersMedlem sedan juni 200032 969 inlägg
#4

Uh

Vad hade du tänkt skulle hända?

BoorgMedlem sedan okt. 2004409 inlägg
#5

Den skulle ladda sidan a
jag vill att den skall ladda om den aktuella sidan fast med enorlunda querystring

J.N.Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

Vad är det för fel på en vanlig hederlig <a href="denna_sida.htm?ny_qs">hämta igen</a>?

icaaqMedlem sedan okt. 20005 273 inlägg
#7
[red]
<body onclick="location.href='a.htm';" >
..
[/red]

mv icaaq

BoorgMedlem sedan okt. 2004409 inlägg
#8

Bra!
Men nu blir det ett problem.
Även när man klickar i t.ex ett textarea andvänder den den..

Finns det något sätt o göra så att den bara andvänds när man trycker på "bakgrunden"?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#9

En fullösning är att sätta en variabel när du för musen över vissa föremål, som sedan kollas av innan koden utförs.

<html>

<head>
<script type="text/javascript">
clicksafe=false;

function dobodyclick(){
	if (!clicksafe){
		window.open("a.html","_self");
	}
}

</script>
</head>
<body onclick="dobodyclick();">
<a href="http://www.google.com" onmouseover="clicksafe=true;" onmouseout="clicksafe=false;">Länk som går någon annanstans</a>
<br />
Textruta:<br />
<textarea onmouseover="clicksafe=true;" onmouseout="clicksafe=false;">

</textarea>

</body>
</html>
BoorgMedlem sedan okt. 2004409 inlägg
#10

J.N. skrev:

HEJ!

Vad är det för fel på en vanlig hederlig <a href="denna_sida.htm?ny_qs">hämta igen</a>?

Han som jag gör detta till ville ha det andvändar vänligt och likt exel så jag försöker få det så likt som möjligt.

Web-TorMedlem sedan nov. 200013 890 inlägg
#11

Om du inte vill att eventet ska köras på ett visst input fält kan du använda propertyn cancelBubble():

<input type="text" onclick="window.event.cancelBubble=true;" />
nitro2k01Medlem sedan aug. 20039 342 inlägg
#12

Web-Tor skrev:

Om du inte vill att eventet ska köras på ett visst input fält kan du använda propertyn cancelBubble():

<input type="text" onclick="window.event.cancelBubble=true;" />

En liten varning ang denna metod: Den är IE-specifik, så undvik den om du vill att även folk med andra webbläsare ska kunna använda sidan.

BoorgMedlem sedan okt. 2004409 inlägg
#13

Nu iochmed att jag andvänder detta så funkar inte

      <td>
        <form method="POST" action="<% =What %>.asp?Vecka=<% =week %>&amp;JobNo=<% =JobNo %>" onmouseover="clicksafe=true;" onmouseout="clicksafe=false;">
          <textarea rows="3" name="Kommentar" cols="80" onmouseover="clicksafe=true;" onmouseout="clicksafe=false;"></textarea><br>
          <input type="submit" value=" Kommentera " onmouseover="clicksafe=true;" onmouseout="clicksafe=false;">
        </form>
      </td>
    </tr>

Någon som ser någon lösning?

dectgapMedlem sedan sep. 20021 655 inlägg
#14

Jag skulle ha valt att göra allting genom ett JavaScript, istället för att stoppa in event-attribut i valda element, så här:

<script type="text/javascript">
document.onclick = function(e) {
   e = e || event;
   var elm = e.target || e.srcElement;
   if(elm.tagName.toUpperCase() == "BODY" || elm.tagName.toUpperCase() == "HTML")
      window.open("a.html", "_self"); 
}
</script>

Koden kan utläsas som:
"Om man klickar någonstans i dokumentet, och elementet man trycker på antingen är HTML- eller BODY-elementet, öppna då "a.html".

nitro2k01Medlem sedan aug. 20039 342 inlägg
#15

vad är det som går fel? Jag prövade, och det verkade funka ok?

BoorgMedlem sedan okt. 2004409 inlägg
#16

När jag skickar iväg formuläret laddas sidan om :/

Det är nog inte det scriptet men det är skumt..

BoorgMedlem sedan okt. 2004409 inlägg
#17

Ändrade tillochmed adressen till ok och den laddar fortrarande bara om :/

 <tr>
   <td>
    <form method="POST" action="ok">
     <textarea rows="3" name="Kommentar" cols="80"></textarea><br>
     <input type="submit" value=" Kommentera ">
    </form>
   </td>
 </tr>
nitro2k01Medlem sedan aug. 20039 342 inlägg
#18

Har du en adress till sidan?

Web-TorMedlem sedan nov. 200013 890 inlägg
#19

nitro2k01 skrev:

Web-Tor skrev:

Om du inte vill att eventet ska köras på ett visst input fält kan du använda propertyn cancelBubble():

<input type="text" onclick="window.event.cancelBubble=true;" />

En liten varning ang denna metod: Den är IE-specifik, så undvik den om du vill att även folk med andra webbläsare ska kunna använda sidan.

För mig funkar det i såväl Firefox som Opera. :q

134 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)