我们可以用change事件来完成元素值发生改变触发的监听,但是change 适用于<input>、<textarea> 以及 <select> 元素,对于 div,span等元素就不能使用了。
有个需求,是如果span标签中的日期内容变化了,需要重新请求数据。从网上查到了一个方法,但是有点注意事项,简单记录下。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
<script src="js/jquery-1.10.2.min.js"></script>
</head>
<body>
<span class="aa">hello</span>
<button class="btn">click me</button>
<script>
$(function(){
$('.btn').click(function(){
//下面这样写不会触发DOMNodeInserted
//$('.aa')[0].innerText = 'change';
//以下都可以触发DOMNodeInserted
//$('.aa')[0].innerHTML = 'change';
//$('.aa').html('change');
$('.aa').text('change');
});
$('.aa').bind('DOMNodeInserted',function(e) {
console.log('DOMNodeInserted');
console.log($(e.target).html());//change
})
})
</script>
</body>
</html>