Kom ihåg mig?
Home Menu

Menu


Javascript events addEventListener

 
Ämnesverktyg Visningsalternativ
Oläst 2008-12-08, 17:14 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <meta http-equiv="content-type" content="text/html" charset="iso-8859-1">
 <meta name="generator" content="">
 <title></title>
 <link rel="stylesheet" type="text/css" href="style.css" />  
 <script src="jquery-1.2.6.min.js"></script>  
 <script language='javascript'>
var element = document.getElementById('clickable');
element.addEventListener('click',function () {
	alert('test');
},false)
 </script>
 </head>
 <body>
  <div style='width:150px;height:30px;background-color:#B3B3B3;margin:0px auto;' id='clickable'>Slide Up</div>
  <div style='width:150px;height:300px;background-color:#A3A3A3;margin:0px auto;' id='thebox'></div>
 </body>
</html>
Jag har aldrig använt addEventListener förut men jag försöker lura ut vad jag göra fel. Skulle någon kunna säga mig varför ovanstående inte fungerar?
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 17:30 #2
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
En snabb gissning: du har inget semicolon på slutet?
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 17:34 #3
Kruger Kruger är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 237
Kruger Kruger är inte uppkopplad
Medlem
 
Reg.datum: Jul 2006
Inlägg: 237
.. hmm... blev lite fel..
Kruger är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 17:56 #4
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Nope.. verkar inte var det som är felet. Ändrat det nu dock, naturligtvis inte så det ska vara.
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:20 #5
stakess avatar
stakes stakes är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 219
stakes stakes är inte uppkopplad
Medlem
stakess avatar
 
Reg.datum: May 2005
Inlägg: 219
Nu är det ju inte det du frågar efter, men du ser ut att använda jQuery?

Isåfall är det inte svårare än så här:

$("#clickable").click(function(){

alert("hej");

});

Annars är det nog så att DOM inte har laddat färdigt, dvs alla html element, prova att lägga ditt javascript efter body elementet.

I jQuery finns en funktion som kolllar när DOM är färdigladdat:


$(document).ready(function() {
din kod här.
}
stakes är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:22 #6
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Ja men jag försöker göra det utan Jquery, jquery är en kvarleva ifrån en annan sida jag kopierade.. srry.

edit: faktum är att jag försöker fundera hur Jquery gör för jag tkr det är så himla bra. Och eventlistener är min gissning på hur detta sker...
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:23 #7
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Du behöver invänta att sidan laddats klart, följande löser detta:

Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <meta http-equiv="content-type" content="text/html" charset="iso-8859-1">
 <meta name="generator" content="">
 <title></title>
 <link rel="stylesheet" type="text/css" href="style.css" /> 
 <script src="jquery-1.2.6.min.js"></script> 
 <script language='javascript'>
 $(document).ready(function() {
 var element = document.getElementById('clickable');
	element.addEventListener('click',function () {
	alert('test');
	},false);
 });
 </script>
 </head>
 <body>
 <div style='width:150px;height:30px;background-color:#B3B3B3;margin:0px auto;' id='clickable'>Slide Up</div>
 <div style='width:150px;height:300px;background-color:#A3A3A3;margin:0px auto;' id='thebox'></div>
 </body>
</html>
Man kan dock undra varför du inte använder jQuerys egna funktioner för att välja element, när du ändå har laddat in jQuery?

Tex.:

Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <meta http-equiv="content-type" content="text/html" charset="iso-8859-1">
 <meta name="generator" content="">
 <title></title>
 <link rel="stylesheet" type="text/css" href="style.css" /> 
 <script src="jquery-1.2.6.min.js"></script> 
 <script language='javascript'>
$(document).ready(function() {
	$("#clickable").click(function() {
 alert('test');
	});
});
 </script>
 </head>
 <body>
 <div style='width:150px;height:30px;background-color:#B3B3B3;margin:0px auto;' id='clickable'>Slide Up</div>
 <div style='width:150px;height:300px;background-color:#A3A3A3;margin:0px auto;' id='thebox'></div>
 </body>
</html>
Silodon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:25 #8
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Thx. Nu vet jag iallafall vad som är fel, men finns det någon motsvarighet till $(document).ready i ren javascript? vill kunna göra det både med och utan jquery
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:28 #9
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Snabblösning:

Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 <meta http-equiv="content-type" content="text/html" charset="iso-8859-1">
 <meta name="generator" content="">
 <title></title>
 <link rel="stylesheet" type="text/css" href="style.css" /> 
 <script src="jquery-1.2.6.min.js"></script> 
 <script language='javascript'>
 function load() {
var element = document.getElementById('clickable');
element.addEventListener('click',function () {
alert('test');
},false);
}
 </script>

 </head>
 <body onload="load();">
 <div style='width:150px;height:30px;background-color:#B3B3B3;margin:0px auto;' id='clickable'>Slide Up</div>
 <div style='width:150px;height:300px;background-color:#A3A3A3;margin:0px auto;' id='thebox'></div>
 </body>
</html>
Silodon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-12-08, 18:33 #10
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Tack återigen det är schysst. Men går det att göra helt unobtrusive d.v.s. executa ifrån script-taggen? Jag är lite kräsen nu, men jag har ett speciellt ändamål...
Althalos är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017