检测元素的变化并将其重新设置为之前?

时间:2014-08-11 18:51:06

标签: javascript jquery element

$(document).ready(function () {

    $("#u22_input").on("change keyup paste", function () {
        $('#u25_img').attr('src', '');
    })

    if ($("#u22_input").val()) {
        $('#u25_img').attr('src', 'images/shirtnew/u25.png');
    }

});

尝试检测现在正常工作的文本输入的更改。

但是,当文本输入(#u25_img)为空时,如何将#u22_input src更改为其原始值?

1 个答案:

答案 0 :(得分:1)

您可以将if语句移动到事件处理程序中:

$(document).ready(function () {
    $("#u22_input").on("change keyup paste", function () {
        // Using a ternary operator instead of `if`
        // and trimming the value
        var src = $.trim(this.value).length > 0
                  ? 'images/shirtnew/u25.png'
                  : '';
        $('#u25_img').attr('src', src);
    });
});

如果你想在DOM就绪上执行一次处理程序,你可以触发你的处理程序监听的一个事件:

$("#u22_input").on("change keyup paste", function () {
    var src = $.trim(this.value).length > 0 
              ? 'images/shirtnew/u25.png'
              : '';
    $('#u25_img').attr('src', src);
}).trigger('change'); // execute the handler immediately