gpt4 book ai didi

javascript - 使用 javascript 和下拉菜单更改多个 textareas css 值?

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:12 25 4
gpt4 key购买 nike

http://jsfiddle.net/g3u7hxr6/4/

我有以下代码,目前它使用下拉框更改所有文本区域的 css 值。

我想要它,以便当选择 1 个文本区域并呈绿色发光时,下拉框将仅更改所选文本区域的 css,而不是所有文本区域。

基本上我希望能够单独更改每个文本区域的字体。

我考虑过使用另一个下拉框来选择要更改的文本区域。但是javascript必须有一种方法来检测选定的文本区域并仅对其进行更改。我需要为每个 textarea 添加一个唯一的 id 字段,但我完全迷失了 javascript。请帮忙!!!

感谢 Binvention 的回答: http://jsfiddle.net/g3u7hxr6/19/

JS:

$(function () {
$("[id^=font]").on('change', function () {
$('.address').css(this.id, /\d/.test(this.value) ? this.value + "px" : this.value);
});
});


$('.address').focus(
function(){
$(this).parent('div').css('box-shadow','0px 0px 10px green');
}).blur(
function(){
$(this).parent('div').css('box-shadow','0px 0px 0px');
});

HTML:

    <div class="options">
<div class="left">Font:
<br>Size:
<br>Weight:</div>
<div class="right">
<select name="fontFamily" id="fontFamily">
<option selected value="Verdana">Verdana</option>
<option value="Arial">Arial</option>
</select>
<br>
<select name="fontSize" id="fontSize">
<option value="8">8</option>
<option selected value="16">16</option>
<option value="24">24</option>
</select>
<br>
<select name="fontWeight" id="fontWeight">
<option selected value="Bold">Bold</option>
<option value="Normal">Normal</option>
</select>
<br /> <br />
</div>

<div class="page">
<div class="left border">
<textarea class="address" tabindex="1">text area 1</textarea>
</div>
<div class="right border">
<textarea class="address" tabindex="4">text area 4</textarea>
</div>
<div class="left border">
<textarea class="address" tabindex="2">text area 2</textarea>
</div>
<div class="right border">
<textarea class="address" tabindex="5">text area 5</textarea>
</div>
<div class="left border">
<textarea class="address" tabindex="3">text area 3</textarea>
</div>
<div class="right border">
<textarea class="address" tabindex="6">text area 6</textarea>
</div>
</div>

CSS:

 .left {
float: left;
}
.right {
float: right;
}
.options {
width: 200px;
}
.page {
width: 440px;
}
.border {
border:1px solid #888;
border-radius: 5px;
padding: 5px;
margin: 0 0px 0px 0;
}

textarea {
resize:none;
height: 100px;
width: 200px;
overflow: auto;
font-family: Verdana;
font-size: 16px;
}

最佳答案

你需要创建一个独特的类,像这样将一个标记为选中

$('textarea').click(function(){
$(this).toggleClass('textselected');
});

这将允许您动态选择要编辑的文本框,只需单击即可编辑,单击可取消选择编辑。你需要一些 css 来区分选择和未选择。然后,当您编辑字体和文本属性时,您使用该特殊类而不是文本区域来选择这样的属性

$("[id^=font]").on('change', function () {
$('.textselected').css(this.id, /\d/.test(this.value) ? this.value + "px" : this.value);
});
});

关于javascript - 使用 javascript 和下拉菜单更改多个 textareas css 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33980326/

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