如何收听<span>中的内容更改?

时间:2019-07-16 09:52:58

标签: javascript html

我有一个<preference-headers .... <header android:fragment="acr.browser.lightning.settings.fragment.GeneralSettingsFragment" android:title="@string/settings_general"/> </preference-headers > 元素,其中包含一些内容。键入内容时内容会更改。我该如何收听这些事件?

例如:

<span>

某些内容更改后

<span> Start content </span>

有什么方法可以监听按键事件(例如按键,模糊)?

2 个答案:

答案 0 :(得分:3)

您可以收听DOMSubtreeModified事件。

但是,这听起来不是一个好主意。你说:

  

有什么方法可以监听按键事件(例如按键,模糊)?

您应该在更改跨度内容的代码旁边使用调用此代码。否则,您应该使用输入元素来侦听列出的事件。

以下是使用DOMSubtreeModified事件的示例:

const content = document.getElementById('content')
const append = () => content.innerText += ' change'

content.addEventListener('DOMSubtreeModified', () => console.log('change'))
<span id="content">Content</span>
<br>
<button onclick="append()">Change content</button>

以下是使用change(与blur类似,但仅在发生更改时触发)和keypress事件的示例:

const content = document.getElementById('content')

content.addEventListener('change', () => console.log('change'))
content.addEventListener('keypress', () => console.log('keyPress'))
<input type="text" id="content" value="Content">

答案 1 :(得分:1)

您可以使用 DOMSubtreeModified 来跟踪span元素上的更改。请参阅以下问题以寻求进一步的帮助,

Trigger for span text/html on changed