我有div
的某些信息,通过点击按钮填入.innerHTML
。目标是我想在添加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
答案 0 :(得分: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);
附加事件处理程序:
$("#calcInfo").on("change",function(){
if ($(this).text().trim().length > 0) {
$(this).slideDown('slow', function() {});
};
});
当您需要更改HTML时。这样做:
$("#calcInfo").html('someText');