gpt4 book ai didi

javascript - 重构这个 javascript 代码

转载 作者:行者123 更新时间:2023-11-30 07:27:21 27 4
gpt4 key购买 nike

我有两个点击事件,它们几乎相似,但又不完全相似。我想知道如何最好地重构它们:

  $('.remove_fields.dynamic').live('click', function(e) {
var $this = $(this);
var after_removal_trigger_node = $this.closest(".nested-fields").parent();
trigger_removal_callback($this);
e.preventDefault();
$this.closest(".nested-fields").remove();
trigger_after_removal_callback(after_removal_trigger_node);
});

$('.remove_fields.existing').live('click', function(e) {
var $this = $(this);
var after_removal_trigger_node = $this.closest(".nested-fields").parent();
trigger_removal_callback($this);
e.preventDefault();
$this.prev("input[type=hidden]").val("1");
$this.closest(".nested-fields").hide();
trigger_after_removal_callback(after_removal_trigger_node);
});

如您所知,其中有相当多的重叠。我想知道重构此代码的最佳/最佳方法是什么。

最佳答案

.remove_fields 点击函数中进行类检查。

$('.remove_fields').click(function(e) {
var $this = $(this);
var after_removal_trigger_node = $this.closest(".nested-fields").parent();
trigger_removal_callback($this);
e.preventDefault();
if($this.hasClass("dynamic") {
$this.closest(".nested-fields").remove();
} else if($this.hasClass("existing")) {
$this.prev("input[type=hidden]").val("1");
$this.closest(".nested-fields").hide();
}
trigger_after_removal_callback(after_removal_trigger_node);
});

关于javascript - 重构这个 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050146/

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