gpt4 book ai didi

javascript - 更改时内部函数的 jQuery 回调

转载 作者:行者123 更新时间:2023-12-03 03:13:11 25 4
gpt4 key购买 nike

我有一个函数 fileUploadHandler,我将其作为 .on() 中的参数传递,如下所示:

$('#image_upload').on('change', fileUploadHandler);

我想为 fileUploadHandler 分配一个回调,以便它在上述完成后立即运行。我尝试了几种方法,例如:

fileUploadHandler(event, function() {
// code to run as callback
}
});

但我不知道如何在 fileUploadHandler 运行并且更改完成后立即运行回调。

进一步详细说明:

fileUploadHandler 包含执行多个图像裁剪操作的代码,包括嵌套的 AJAX 调用(可能可以组织得更干净,但无论哪种方式)。我正在尝试使用以下方法获取宽度和高度 HTML 属性的值:

$(".cr-image").attr("width") and $(".cr-image").attr("height")

但是,由于这些值是使用其他 JS 库填充的,因此运行上述 attr 方法会给出未定义的值,而不是值,我假设可以通过在 fileUploadHandler 中的操作运行后运行 attr 来修复该值。但同时,fileUploadHandler 本身就是 .on('change') 的回调

最佳答案

fileUploadHandler 是“回调”函数,或者更确切地说是事件处理程序,当更改事件发生时将调用它。

function fileUploadHandler (event) {
// code that runs when the change event is fired.
// $(event.currentTarget) will be the element that triggered the event
}
$('#image_upload').on('change', fileUploadHandler);

如果由于某种原因你需要更复杂一点,你可以尝试

function fileUploadHandler(callback, event) {
// do stuff with the event/element here
$.ajax('/foo.php').then(callback);


}
function followupCallback(response) {
console.log(response);
// do your processing here using the server responses.
}
$('#image_upload').on('change', fileUploadHandler.bind(this, followupCallback));

关于javascript - 更改时内部函数的 jQuery 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46880312/

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