如何使用jQuery运行canvas.getContext()?

ldioqlga  于 2023-04-20  发布在  jQuery
关注(0)|答案(2)|浏览(130)

我正在尝试使用jQuery使用getContext('2d');。我已经见过this question,但它似乎不工作。它可能是从更新,因为这个问题是问了近9年前。我在头部添加<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>,但使用不同的<script>标记为我的javascript(应该没有问题)。以下是我的所有代码:

var c = $('.canvas');
var ctx = $(c)[0].getContext('2d');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<canvas id='canvas'>You're browser does not support the requirements to play this game. Update your browser or use a different browser</canvas>

我用谷歌搜索,用F12键检查控制台,它说-
未捕获的类型错误:无法读取未定义的属性“getContext”
任何帮助都是感激!谢谢!

3ks5zfa0

3ks5zfa01#

  1. $(".canvas")选择 class 为“canvas”的所有元素。您没有任何满足此选择器的元素,因为您的<canvas>上根本没有任何class
    您可以使用$("#canvas")id进行选择,或使用$("canvas")按节点类型(<canvas>)进行选择。
  2. var c已经是一个jQuery对象-不需要在$(...)中重新 Package 它
    1.这只是基于window.onload的直觉,但如果脚本不在<body>的末尾 * 或 * 它在<head>中,但没有 Package 在$(document).ready( ... )中,代码将在<canvas>元素存在之前查找它。
$(document).ready(function() {              // Remove this line if your code is at the end of <body>
    var $c = $('#canvas');
    var ctx = $c.get(0).getContext('2d');
});                                         // Remove this line if your code is at the end of <body>

我严格根据个人喜好将var c改为var $c,将[0]改为.get(0)

zzzyeukh

zzzyeukh2#

$("#canvas")[0].getContext('2d');

相关问题