I make some CODE to change images in CANVAS on selecting item from dropDown list. It working as it should in IE but in Chrome and FireFox when I chose item from dropDown list nothing happened until I click on dropDown list again. Here is link to sample: Here is CODE:
<html>
<head>
<style>
body{ margin:40px; background:#666; }
#my_canvas{ background:#FFF; border:#000 1px solid; }
</style>
<script>
var text = "";
var i;
var slika01 = new Image();
var slika02 = new Image();
var slika03 = new Image();
slika01.src = "images/sloj01_01.png";
slika02.src = "images/sloj02_01.png";
slika03.src = "images/sloj03_01.png";
function clear(){
var ctx = document.getElementById('my_canvas').getContext('2d');
ctx.clearRect(0, 0, 500, 300);
}
function draw(){
var ctx = document.getElementById('my_canvas').getContext('2d');
//ctx.clearRect(0, 0, 500, 300);
ctx.drawImage(slika01, 0, 0, 500, 300); // Positioning, sizing
ctx.drawImage(slika02, 0, 0, 500, 300); // Positioning, sizing
ctx.drawImage(slika03, 0, 0, 500, 300); // Positioning, sizing
}
function osvezi01(vrednost){
slika01.src = "images/sloj01_0" + vrednost + ".png";
clear();
draw();
}
function osvezi02(vrednost){
slika02.src = "images/sloj02_0" + vrednost + ".png";
clear();
draw();
}
function osvezi03(vrednost){
slika03.src = "images/sloj03_0" + vrednost + ".png";
clear();
draw();
}
window.onload = draw;
</script>
</head>
<body>
<canvas id="my_canvas" width="500" height="300"></canvas>
<p>
<label for="slikai01">slikai 1. sloja</label>
<select name="slikai01" id="slikai01" onClick="osvezi01(this.value);">
<script>
text = "";
for (i = 1; i<=5; i++){
text += '<option value="' + i + '">' + i + '</option>';
}
document.getElementById("slikai01").innerHTML = text;
</script>
</select>
<label for="slikai02"> | slikai 2. sloja</label>
<select name="slikai02" id="slikai02" onClick="osvezi02(this.value);">
<script>
text = "";
for (i = 1; i<=5; i++){
text += '<option value="' + i + '">' + i + '</option>';
}
document.getElementById("slikai02").innerHTML = text;
</script>
</select>
<label for="slikai03"> | slikai 3. sloja</label>
<select name="slikai03" id="slikai03" onClick="osvezi03(this.value);">
<script>
text = "";
for (i = 1; i<=5; i++){
text += '<option value="' + i + '">' + i + '</option>';
}
document.getElementById("slikai03").innerHTML = text;
</script>
</select>
</p>
</body>
</html>