0

我有这个示例代码。我需要的是在加载时运行该函数并将其绑定到更改事件。条件运行是必需的。

if (true) {
    Settings.customImage();
}

Settings.customImage = function() {
    var imageInput = $("#imageInput");
    var imagePreview = $('#imagePreview');

    updateCustomImage();
    imageInput.bind('change', updateCustomImage());

    function updateCustomImage() {
        var src = imageInput.val();
        alert(src);
        imagePreview.html(src ? '<img src="' + src + '">' : '');
    }
}
4

2 回答 2

1

您需要将函数引用作为回调传递给bind函数。在您的代码中,您正在调用该函数updateCustomImage并将其返回值(在本例中undefined)作为change回调传递。

它应该是

imageInput.bind('change', updateCustomImage);
于 2013-06-14T09:04:45.310 回答
0

您需要传递对函数的引用

imageInput.bind('change', updateCustomImage);

或者只使用匿名函数

imageInput.bind('change', function () {
    var src = imageInput.val();
    alert(src);
    imagePreview.html(src ? '<img src="' + src + '">' : '');
});
于 2013-06-14T09:07:15.493 回答