Я делаю плагин веб-сайта, добавляя блок моего кода на определенную существующую веб-страницу, которая отслеживает изменение содержимого определенного веб-элемента на существующей странице и запускает дальнейшие действия по изменению.
В качестве плагина я не хочу изменять блок кода исходной страницы, я хочу получить контролируемый элемент и зарегистрировать вид "события изменения" этого элемента из моего кода. Например
<html>
...
<body>
...
<label id="idLable">some text</label>
...
<!-- here begin my code block -->
<script>
var label = document.getElementById("idLabel")
label.addOnChange(function (oldValue, newValue)
{
//do something
});
</script>
<!-- here end my code block -->
</body>
</html>
Я долго искал Google, но не нашел решения. Можно ли это сделать?
Мое спасибо, Хай
В JS нет встроенной функции/опции. Но вы можете контролировать изменения с помощью функции setInterval. Вот пример кода:
var oldText=document.getElementById("idLabel").data;
var tmr = window.setInterval(function(){
if(document.getElementById("idLabel").data != oldText ) {
//Your code goes here
window.clearInterval(tmr);
}
},1000);