如何编写单个 Jquery 函数以在文档更改和就绪事件时触发

How to write a single Jquery function to trigger on document change and ready events

本文关键字:就绪 事件 文档 单个 何编写 Jquery 函数      更新时间:2023-09-26

我试图做的只是在文档加载后调用此函数,但每当某些元素值发生更改时也是如此。我正在徘徊,如果有一种方法可以在不为document.ready()事件和document.change()编写同一段代码的情况下做到这一点。

$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", function() {
    that.UpdateDays();
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") {
        $("#IsHalfDay").show();
    } else {
        $("#IsHalfDay").hide();
        $("input[name=HalfDay]").removeAttr("checked");
        $("#amPM").hide();
        $("#HalfDayAP").val("");
    }
});

我基本上需要的是这个函数来运行并在更改表单上已经存在的值之前检查它们。

像这样使用:

var changeFn = function() {
    that.UpdateDays();
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") {
        $("#IsHalfDay").show();
    } else {
        $("#IsHalfDay").hide();
        $("input[name=HalfDay]").removeAttr("checked");
        $("#amPM").hide();
        $("#HalfDayAP").val("");
    }
};
$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", changeFn);

您也可以在ready或随时拨打changeFn()