[英]Fire event when inner html in div changed
我有一些信息的div
,通過單擊按鈕填充.innerHTML
。 目標是我想在.slideDown
div中的文本時.slideDown
div。 有可能用jQuery做到嗎?
例:
<div id="calcInfo"></div>
將文本添加到div中 -
document.getElementById("calcInfo").innerHTML = 'someText';
我想在它之后使用這個功能:)
if ($('#calcInfo').text().trim().length > 0) {
$('#calcInfo').slideDown('slow', function() {});
};
我正在嘗試.change()
函數,但它只適用於input
和textarea
元素。 非常感謝您的回答!
的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');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.