html内容改变后触发事件,在div更改时触发jQuery事件

小编典典

您可以使用DOMNodeInserted和DOMNodeRemoved检查是否添加或删除了元素。不幸的是,IE不支持此功能。

$('#myDiv').bind('DOMNodeInserted DOMNodeRemoved', function(event) {

if (event.type == 'DOMNodeInserted') {

alert('Content added! Current content:' + '\n\n' + this.innerHTML);

} else {

alert('Content removed! Current content:' + '\n\n' + this.innerHTML);

}

});

更新资料

您可以使用保存初始内容和将来的更改.data()。这是一个例子。

var div_eTypes = [],

div_changes = [];

$(function() {

$('#myDiv').each(function() {

this['data-initialContents'] = this.innerHTML;

}).bind('DOMNodeInserted DOMNodeRemoved', function(event) {

div_eTypes.concat(e.type.match(/insert|remove/));

div_changes.concat(this.innerHTML);

});

});

输出示例:

> $('#myDiv').data('initialContents');

"

Hello, world!

This is an example.

"

> div_eTypes;

["insert", "insert", "remove"]

> div_changes;

["", "

IANA — Example domains
", "
IANA – Example domains
"]

更新2

您可能还想包括DOMSubtreeModified它,因为我发现了这一点,DOMNodeInserted并且DOMNodeRemoved如果innerHTML直接替换一个元素也不会触发。它仍然不能在IE中运行,但至少在其他浏览器中可以正常运行。

2020-05-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值