更改<p>标记中的文本时,如何检测或触发事件?

时间:2019-04-10 11:40:38

标签: javascript jquery

我想在<p>标记内的文本更改时触发事件。我以为使用change(),但我意识到它是用于表单输入元素的。

$("#click").click(function() {
  $('p').html("done");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <p> Hello </p>
</div>
<button id="click">click to change</button>

1 个答案:

答案 0 :(得分:2)

您可以在下面的演示中使用MutationObserver()

let p = document.querySelector('p')

function changeText(){
  p.textContent = "red";
}


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

var observer = new MutationObserver((list) => {
  console.log(list[0].target.textContent);
});

observer.observe(p, config);
<div>
  <p> Hello </p>
</div>
<button id="click" onclick="changeText()">click to change</button>