gpt4 book ai didi

javascript - 使用 jQuery 创建 Canvas 元素并设置其宽度和高度属性

转载 作者:技术小花猫 更新时间:2023-10-29 11:44:56 26 4
gpt4 key购买 nike

我只是想在 jQuery 中执行以下操作:

var newCanvas = $('<canvas/>',{'width':100,'height':200,'class':'radHuh'});
$(body).append(newCanvas);

这是有效的(某种程度上)并生成以下标记:

<canvas style="width:100px; height:200px;" class="radHuh"></canvas>

正如你们大多数人可能知道的那样,canvas 元素并不真正喜欢 CSS 尺寸,而是需要宽度和高度属性,所以这个对象创建对我来说失败了。

我知道我可以这样做:

var newCanvas = $('<canvas/>',{'class':'radHuh'}).attr({'width':100,'height':200});

相反,但我只是想知道是否有任何方法告诉 jQuery 在通过 创建元素时 widthheight 应该被视为属性$('element',{attributes}) 而不是 CSS?

最佳答案

jQuery 尝试将每个属性名称与 jQuery 函数名称相匹配。调用匹配的函数。

widthheight 是 jQuery 函数,因此您的原始代码等同于:

  var newCanvas = 
$('<canvas/>',{'class':'radHuh'})
.width(100)
.height(100);

width(value)height(value)函数设置元素的 CSS 宽度和高度。


相关 jQuery 源代码行 ( https://github.com/jquery/jquery/blob/master/src/attributes.js#L308 )

if ( pass && name in jQuery.attrFn ) {

attrFn 对象定义(https://github.com/jquery/jquery/blob/master/src/attributes.js#L288):

attrFn: {
val: true,
css: true,
html: true,
text: true,
data: true,
width: true,
height: true,
offset: true
},

关于javascript - 使用 jQuery 创建 Canvas 元素并设置其宽度和高度属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com