2013-03-21 41 views
0

我的javascript代碼沒有運行,但繪製畫布的html是..... 我試圖在畫布html元素上添加一個事件監聽器。每次我點擊它應該給我一個警報的元素。我曾嘗試過這在Firefox和谷歌瀏覽器。爲什麼我的JavaScript代碼不能運行? canvas和javascript事件

<script language = "javascript" type = "text/javascript"> 

alert("yo"); 
canvas.addEventListener('click', function() {}, false); 



var elem = document.getElementById("checkersq"), 
elemLeft = elem.offsetLeft, 
elemTop = elem.offsetTop, 
context = elem.getContext('2d'), 
elements = []; 

elem.addEventListener('click', function(event){ 

    var x = event.pageX - elemLeft, 
     y = event.pageY - elemTop; 

    elements.forEach(function(element){ 

     if (y > element.top && y < element.top + element.height 
      && x > element.left && x < element.left + element.width){ 

        alert('clicked an element'); 

      } 

     } 
    }); 
}, false); 

elements.push({ 
    colour: '#05EFFF', 
    width: 150, 
    height: 200, 
    top: 20, 
    left: 15 
}); 

elements.forEach(function(element) { 

    context.fillStyle = element.colour; 
    context.fillRect(element.left, element.top, element.width, element.height); 
}); 

+0

不是一個答案,但失去這些空間:語言= 「JavaScript的」 類型= 「文/ JavaScript的」 – 2013-03-21 04:25:40

+0

什麼瀏覽器? JavaScript控制檯中的任何錯誤? – 2013-03-21 04:26:00

+0

另請注意,forEach尚未標準。 – 2013-03-21 04:27:02

回答

2

轉換

} 
    }); 
}, false); 

}); 
}, false); 
+1

我想通了。我被要求做window.onload函數 – Kelvin 2013-03-21 04:47:31

相關問題