【发布时间】:2021-10-01 16:26:20
【问题描述】:
对于我的所有其他选项,这很好用(我只是将替换部分编辑为正确的 id)..
(注意:所有的“都被淘汰了,因为在生产中这些都是用js动态创建的)
<div class=\"singlecontrol\"><span style=\"vertical-align: middle;\">Colour Picker</span><input oninput=\"updatetxtcolour(event)\" id=\"colourpicker"+textcount+"\" value=\"#dfe481\" type=\"color\" autocomplete=\"off\" ></div>
<script>
function updatetxtcolour(e) {
var ideditaded = e.target.getAttribute("id").replace("colourpicker", "");
document.getElementById("quotetext"+(ideditaded)).style.color = document.getElementById("colourpicker"+(ideditaded)).value;
}
</script>
但是对于我的字体选择器来说,它的工作原理是这样的......
<div class=\"singlecontrol\"><span style=\"vertical-align: middle;\">Font Picker</span><input id=\"font"+textcount+"\" type=\"text\" autocomplete=\"off\" ></div>
<script>
$('#font'+(textcount))
.fontselect()
.on('change', function() {
applyFont(this.value);
});
}
function applyFont(font) {
console.log('You selected font: ' + font);
// Replace + signs with spaces for css
font = font.replace(/\+/g, ' ');
// Split font into family and weight
font = font.split(':');
var fontFamily = font[0];
var fontWeight = font[1] || 400;
// Set selected font on paragraphs
$('quotetext'+(textcount)).css({fontFamily:"'"+fontFamily+"'", fontWeight:fontWeight});
}
</script>
我无法让后一个字体选择器以与其他字体相同的方式运行,即传递正确的 ID,因为它们是动态创建的,就像 https://stackoverflow.com/a/69397361/4772471
我所有的其他选项都调用了一个函数 oninput,但是这个使用了一个监听器,然后运行了一个函数,所以我很难过。
【问题讨论】:
-
请不要通过编辑将有效答案合并到您的问题中来使其无效。
标签: javascript html jquery