当div中的内部html改变时的火灾事件

s0v*_*vet 3 html javascript jquery

我有div一些信息,.innerHTML通过点击按钮填写.我的目标是.slideDown在添加div中的文本时想要div.有可能用jQuery做到吗?

例:

<div id="calcInfo"></div>
Run Code Online (Sandbox Code Playgroud)

将文本添加到div中 -

document.getElementById("calcInfo").innerHTML = 'someText';
Run Code Online (Sandbox Code Playgroud)

我想在它之后使用这个功能:)

if ($('#calcInfo').text().trim().length > 0) {
   $('#calcInfo').slideDown('slow', function() {});
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试.change()功能,但它只适用于inputtextarea元素.非常感谢您的回答!

的Ondrej

Kha*_* TO 11

你可以通过扩展$ .html函数来实现.像这样:

(function($)
{
    var oldHtml = $.fn.html;
    $.fn.html = function()
    {
        var ret = oldHtml.apply(this, arguments);

        //trigger your event.
        this.trigger("change");

        return ret;
    };
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

附加事件处理程序

$("#calcInfo").on("change",function(){
     if ($(this).text().trim().length > 0) {
        $(this).slideDown('slow', function() {});
     };
});
Run Code Online (Sandbox Code Playgroud)

当你需要更改你的HTML.像这样做:

$("#calcInfo").html('someText');
Run Code Online (Sandbox Code Playgroud)