gpt4 book ai didi

javascript - jquery改变对象的值

转载 作者:行者123 更新时间:2023-11-30 05:39:28 25 4
gpt4 key购买 nike

您将如何使用 jQuery 来更改对象的值。我有对象并且知道选择器,但是如何更改单击时的 RGB 值?我正在尝试更改 penColor。四个列表项(黄色、绿色、蓝色、橙色)上有数据颜色。那么当用户点击黄色时,js对象会改变对象值吗?

var signaturePad = new SignaturePad(canvas, {
minWidth: 2,
maxWidth: 5,
penColor: "rgb(66, 133, 244)"
});

var selectedColor = $(e.currentTarget).data('color');
$('.initial').css('color', selectedColor);

这是标记:

<ul class="global-color">
<li class="yellow-pick" data-color="#f8c90d"></li>
<li class="green-pick" data-color="#3dae49"></li>
<li class="orange-pick" data-color="#e87425"></li>
<li class="blue-pick" data-color="#009cc5"></li>
</ul>

最佳答案

jsFiddle Demo

您可以在运行时更改signaturepad.penColor 属性(API 支持)。为了将十六进制转换为 rgb(),您还应该使用其他人在此处链接的答案

hexToRgb 改编自:https://stackoverflow.com/a/5624139/1026459

function hexToRgb(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? "rgb("+parseInt(result[1], 16)+
","+parseInt(result[2], 16)+
","+parseInt(result[3], 16)+")"
: null;
}

所以使用它并在点击时分配属性最终看起来像这样:

$('.global-color li').click(function(){
$('.on').removeClass('on');//demo highlighting only
var $t = $(this);
$t.addClass('on');//demo highlighting only
var selectedColor = $t.data('color');//read data
signaturePad.penColor = hexToRgb(selectedColor);//assign to pen color
});

关于javascript - jquery改变对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591805/

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