Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改div中的内部html时引发事件_Javascript_Jquery_Html - Fatal编程技术网

Javascript 更改div中的内部html时引发事件

Javascript 更改div中的内部html时引发事件,javascript,jquery,html,Javascript,Jquery,Html,我在div中找到了一些信息,通过单击按钮,这些信息被.innerHTML填充。目标是在添加div中的文本时,我想。向下滑动。可以用jQuery来实现吗 例如: <div id="calcInfo"></div> 我想在它之后使用此函数:) 我尝试了.change()函数,但它只适用于输入和文本区域元素。谢谢你的回答 Ondrej您可以通过扩展$.html函数来实现。像这样: (function($) { var oldHtml = $.fn.html;

我在
div
中找到了一些信息,通过单击按钮,这些信息被
.innerHTML
填充。目标是在添加div中的文本时,我想
。向下滑动
。可以用jQuery来实现吗

例如:

<div id="calcInfo"></div>
我想在它之后使用此函数:)

我尝试了
.change()
函数,但它只适用于
输入
文本区域
元素。谢谢你的回答


Ondrej

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

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

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

        return ret;
    };
})(jQuery);
附加事件处理程序:

$("#calcInfo").on("change",function(){
     if ($(this).text().trim().length > 0) {
        $(this).slideDown('slow', function() {});
     };
});
当您需要更改html时。这样做:

$("#calcInfo").html('someText');

如果检查内容更改不起作用,您能否将此代码绑定到按钮的单击功能?否,因为此div包含有关web计算的信息,有时包含,有时不包含。我现在使用的是
.setInterval()
,但这不是一个好的解决方案。嘿,这太酷了:)我对更改jQuery函数一无所知。非常感谢你@s0vet:很高兴这有帮助。快乐编码
$("#calcInfo").on("change",function(){
     if ($(this).text().trim().length > 0) {
        $(this).slideDown('slow', function() {});
     };
});
$("#calcInfo").html('someText');