Javascript onMouseDown
Hallo ik heb het volgende probleem. Als ik een gewone input type="button" op mijn pagina zet en er in zet: onMouseDown="functie()" dan wordt de javascript functie niet uitgevoerd en blijft de button soms "vasthangen". De button heeft geen stijl dus het is een standaard Internet Explorer button. Waarom gebeuren deze rare dingen? Ik heb al vaker javascript functies uitgevoerd dmv een button en die werkten gewoon.
Kun je eens een stukje code laten zien en eventuele foutmeldingen die je krijgt via een console?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<script>
function voorbeeld() {
alert("Voorbeeld");
}
</script>
<input type="button" onClick="voorbeeld()" value="Klik">
function voorbeeld() {
alert("Voorbeeld");
}
</script>
<input type="button" onClick="voorbeeld()" value="Klik">
Maar als ik dit doe werkt het wel:
Beide werken
Verder vind ik JavaScript ZEER eritant. JavaScript is eritant omdat je honderden keren document.getElementById(""); zit te typen, en het is dan ook nog eens hoofdlettergevoelig. Mijn Shift toets is straks nog afgesleten.
Quote:
Verder vind ik JavaScript ZEER eritant. JavaScript is eritant omdat je honderden keren document.getElementById(""); zit te typen, en het is dan ook nog eens hoofdlettergevoelig. Mijn Shift toets is straks nog afgesleten.
Allereerst is het irritant en als 2e is het slecht als je 100den keren document.getElementById() zit te typen. Dat betekend dat je 100den keren het browser de hele DOM laad doorzoeken op zoek naar alleen dat ene element.
Daarom moet je het resultaat van die getElementById opslaan in een variabele:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// niet
document.getElementById('box').innerText = 'Hello World!';
document.getElementById('box').style.display = 'block';
document.getElementById('box').onclick = function() {
alert('Hello!!!')
};
// maar
var box = document.getElementById('box');
box.innerText = 'Hello World!';
box.style.display = 'block';
box.onclick = function() {
alert('Hello!!!');
};
document.getElementById('box').innerText = 'Hello World!';
document.getElementById('box').style.display = 'block';
document.getElementById('box').onclick = function() {
alert('Hello!!!')
};
// maar
var box = document.getElementById('box');
box.innerText = 'Hello World!';
box.style.display = 'block';
box.onclick = function() {
alert('Hello!!!');
};
En daarnaast, als je nog even een paar jaar wacht wordt JavaScript waarschijnlijk dit, zal je een stuk leuker vinden:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
document.getElementById('box').{
innerText : 'Hello World',
style.{
display : 'block'
},
onclick : function() {
alert('Hello!!!');
}
};
innerText : 'Hello World',
style.{
display : 'block'
},
onclick : function() {
alert('Hello!!!');
}
};
Gewijzigd op 21/06/2012 14:10:25 door Wouter J
Jan terhuijzen op 21/06/2012 14:04:46:
Verder vind ik JavaScript ZEER eritant. JavaScript is eritant omdat je honderden keren document.getElementById(""); zit te typen, en het is dan ook nog eens hoofdlettergevoelig. Mijn Shift toets is straks nog afgesleten.
Doe dan zoiets als dit (niet gecontroleerd):
En voortaan kun je dan gewoon dit doen:
<script type="text/javascript"> doen.