Canvas 禁止在画布上单击

Canvas 禁止在画布上单击,canvas,click,html5-canvas,Canvas,Click,Html5 Canvas,我需要防止在画布的某些位置单击。例如下面的画布。在(0250)-(0300)坐标为(x,y)之间,如果用户单击此间隔内的任何位置,则不会显示任何内容 <script> window.onload = function(){ document.getElementById('lbltipAddedComment').innerHTML = ' '; var canvas = document.getElementById("myCanvas"); var c

我需要防止在画布的某些位置单击。例如下面的画布。在(0250)-(0300)坐标为(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>

window.onload=函数(){
document.getElementById('lbltipAddedComment')。innerHTML='';
var canvas=document.getElementById(“myCanvas”);
var context=canvas.getContext(“2d”);
}

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


一个简单的方法是在画布上放置一个透明的html元素(使用CSS放置)。设置一个点击处理程序,可能使用JQuery,这样当点击透明元素时,它就会执行您想要的操作。

谢谢您的回答。我是html编码的新手,所以我不能完全理解。我在画布上的禁区上有不同的物品。单击事件在我的项目中应该是动态的。我可以先单击画布上的任何地方,然后在某些地方禁止单击。如果用户单击画布上绘制的对象,那么您可能最好使用其他东西,我强烈建议您使用Raphael.js,因为它允许为特定对象分配单击处理程序,然后,您可以随意删除可单击性,特别是让单击区域与对象关联。