调用<p>标签内的值变化函数

b0y*_*b0y 9 html javascript

在JavaScript中有什么方法可以在更改段落标记的值时调用函数.

概述:

HTML:

<p id="timer">00:00</p>
<button onclick="change()">My Button</button>
Run Code Online (Sandbox Code Playgroud)

JS:

function change() {
  document.getElementById("timer").innerHTML = "00:01";
}

function hello() {
  alert("Hello");
}
Run Code Online (Sandbox Code Playgroud)

我希望在更改段落的值时发出警报("Hello").像连续函数检查段落值的变化.

gue*_*314 11

您可以使用MutationObservercharacterData选项设置为true

<script>
  function change() {
    document.getElementById("timer").innerHTML = "00:01";
  }

  function hello() {
    alert("Hello");
  }
  window.onload = function() {

    var target = document.querySelector("p");

    var observer = new MutationObserver(function(mutations) {
      mutations.forEach(function(mutation) {
        hello()
      });
    });

    var config = {
      childList: true,
      subtree: true,
      characterData: true
    };

    observer.observe(target, config);
  }
</script>

<p id="timer">00:00</p>
<button onclick="change()">My Button</button>
Run Code Online (Sandbox Code Playgroud)