2013-03-05 94 views
0

我需要防止在画布的某些地方点击。例如;下面的画布。在(0,250) - (0,300)坐标之间为(x,y),如果用户在此间隔中的任何地方点击,则不会有任何结果。点击在画布上被禁止

<script> 

window.onload = function(){ 
    document.getElementById('lbltipAddedComment').innerHTML = ' '; 
    var canvas = document.getElementById("myCanvas"); 
    var context = canvas.getContext("2d"); 
} 
</script> 

<div id="ccontainer"> 
<canvas id="myCanvas" width="800" height="500"></canvas> 
</div> 

回答

2

画布不响应点击它自己。它需要代码才能这样做。因此,默认情况下,整个画布上禁止单击。您的代码将使其对点击产生反应。所以,只需编写您的代码,以您希望的方式对点击做出反应。

一个简单的方法可以在画布上放置一个透明的html元素(使用CSS定位它)。设置一个点击式处理器,可能使用JQuery,所以当点击这个透明元素时,它会执行你想要的操作。

+0

感谢您的回答。我是html编码的新手,所以我无法完全理解。我在画布上的禁区有不同的物品。在我的项目中,点击事件应该是动态的。我可以首先在画布上点击任何地方,然后在某些地方点击将被禁止。 – user1942359 2013-03-05 13:31:24

+0

如果用户点击画布绘制的对象,那么你可能会更好使用其他的东西,我强烈建议使用Raphael.js,因为它允许将点击处理程序分配给特定对象,然后您可以删除点击将会,特别是点击区域与对象相关联。 – Jodes 2013-03-05 15:47:17