gpt4 book ai didi

JavaScript On Change 函数仅触发一次

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

我很难理解为什么 jQuery 函数“onchange”对于每行只能运行一次。我的代码非常适合对每行进行多次更改,但是当我更改“相反值”时,代码会失败。

我认为这是因为第一个选择器 $( ".line").children() 已设置,然后每个选择器都没有“取消设置”。我也浏览了以前对类似问题的回答,但没有成功。

有办法改变这个吗?我尝试使用 .unbind() 取消设置,但这只会阻止代码在第一次后执行。

$(".line").children().on("change", function(event) {
console.log($(this).children());
if ($(this).children().attr("class").includes("picker")) {
$(this).parent().find(".hex").attr("value", $(this).find(".picker").val());
} else {
$(this).parent().find(".picker").attr("value", $(this).find(".hex").val());
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<div class="col-md-12 form">
<h3>Palette name : <span id="palette_name"></span></h3>
<div class="line">
<div class="form-group col-md-5">
<input type="color" class="form-control picker" value="#ffffff" id="picker1">
</div>
<div class="form-group col-md-4">
<input type="text" class="form-control hex" value="#ffffff" id="hex1">
</div>
</div>
<div class="line">
<div class="form-group col-md-5">
<input type="color" class="form-control picker" value="#ffffff" id="picker2">
</div>
<div class="form-group col-md-4">
<input type="text" class="form-control hex" value="#ffffff" id="hex2">
</div>
</div>
<div class="line">
<div class="form-group col-md-5">
<input type="color" class="form-control picker" value="#ffffff" id="picker3">
</div>
<div class="form-group col-md-4">
<input type="text" class="form-control hex" value="#ffffff" id="hex3">
</div>
</div>
<div class="line">
<div class="form-group col-md-5">
<input type="color" class="form-control picker" value="#ffffff" id="picker4">
</div>
<div class="form-group col-md-4">
<input type="text" class="form-control hex" value="#ffffff" id="hex4">
</div>
</div>
</div>
<div class="col-md-10">
<a class="btn btn-info btn-lg">Update</a>
<a class="btn btn-danger btn-lg pull-right cancel" href="index.html">Cancel</a>
</div>
</form>

最佳答案

此代码适用于 fiddle :https://jsfiddle.net/uq80uort/

$( ".line" ).children().on("change",function(event){
console.log($(this).children());
if ($(this).children().attr("class").includes("picker")) {
$(this).parent().find(".hex").attr("value",$(this).find(".picker").val());
} else {
$(this).parent().find(".picker").attr("value",$(this).find(".hex").val());
}
});

关于JavaScript On Change 函数仅触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44568010/

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