【发布时间】:2015-04-09 03:05:31
【问题描述】:
我正在尝试向我的画布添加条件。 #iconTel 元素是一个复选框。我只想在选中复选框时才在画布上显示一个图标。这是我尝试过的……但不起作用。我在网上搜索了很多都没有成功。
function updateClicked() {
oCanvas.width = oCanvas.width;
oCtx.drawImage(img,0,0);
$('#iconTel').click(function(){
if (this.checked) {
oCtx.font = "15px VonnesReg"; // different font
oCtx.fillStyle = "#ff0000";
oCtx.textBaseline = "top"; // text baseline at the top
oCtx.fillText(document.getElementById("iconTel").value, 260, 172, 225);
}
})
因此,当检查该复选框时,需要出现该元素,如果未选中,则消失了,而无需擦除整个画布。
感谢您的帮助
【问题讨论】:
-
常见的canvas设计模式是,当canvas内容需要改变时,canvas被彻底清除,所有新需要的内容都被重绘。听起来您正在与这种常见的设计模式作斗争——尤其是考虑到您对 onKey 与您的内容混淆的评论。完全清除画布的替代方法是直接在当前画布的顶部放置第二个画布(使用 CSS 绝对定位)。然后您可以在该顶部画布上绘制/清除您的可选内容。 ;-)
-
感谢 markE 的评论。我还没有想到,但这将是一个很好的解决方案!非常感谢
标签: javascript jquery html canvas