jQuery-检测SPAN字段内容的变化

前端之家收集整理的这篇文章主要介绍了jQuery-检测SPAN字段内容的变化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有下面的代码用于模拟文本框:
<label for="alertCmpVal">ALERT VALUE:</label>
<span class="center textBox displayField highlight" id="alertCmpVal" contenteditable> <?PHP print $alert_val;?> </span>

我需要知道内容何时发生变化,例如我点击它,然后将其从0更改为1.

我试过了:

$(document).ready(function() 
{
    $(document.body).on('change','#alertCmpVal',function()
    {   
        alert("boo");
        $('#alertCmpVal').removeClass('highlight');
    })
}

但这似乎不起作用.

(n.b. $(document.body)被使用,因为在我的主页面上,初始字段是动态加载的)

我猜它是不喜欢它的’变化’,但却看不出要用什么代替它. (jQuery / HTML5很好,因为它只在内部使用).

我已经看过一些例子,但它们通常似乎是针对更复杂的场景,需要多个函数来检测某些其他事情发生时的变化,但我认为必须有一个类似于on change方法的更简单的解决方案.

解决方法

您可以使用此事件DOMSubtreeModified:
$("span").on('DOMSubtreeModified',function () {
  alert("Span HTML is now " + $(this).html());
});

片段

$(function () {
  $("a").click(function () {
    $("span").html("Hello,World!");
  });
  $("body").on('DOMSubtreeModified',"span",function () {
    alert("Span HTML is now " + $(this).html());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span>Hello</span>
<a href="#">Click</a>

猜你在找的jQuery相关文章