tôi muốn phát hiện khi thay đổi văn bản/giá trị trong trường nhập. Tôi đã đọc rất nhiều ví dụ và thử mã sau đây. Nhưng nó không hoạt động. Ở đây là fiddle preview. i thay đổi giá trị bằng mã js tôi muốn phát hiện những thay đổi đó.javascript sử dụng MutationObserver để phát hiện thay đổi giá trị trong thẻ đầu vào
html
<input type="text" id="exNumber"/>
javascript
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
// console.log('Mutation type: ' + mutation.type);
if (mutation.type == 'childList') {
if (mutation.addedNodes.length >= 1) {
if (mutation.addedNodes[0].nodeName != '#text') {
// console.log('Added ' + mutation.addedNodes[0].tagName + ' tag.');
}
}
else if (mutation.removedNodes.length >= 1) {
// console.log('Removed ' + mutation.removedNodes[0].tagName + ' tag.')
}
}
if (mutation.type == 'attributes') {
console.log('Modified ' + mutation.attributeName + ' attribute.')
}
});
});
var observerConfig = {
attributes: true,
childList: false,
characterData: false
};
// Listen to all changes to body and child nodes
var targetNode = document.getElementById("exNumber");
observer.observe(targetNode, observerConfig);
'onkeyup' không hữu ích cho trường hợp của tôi.chúng tôi không thể sửa đổi tập lệnh bên ngoài vì lý do nào đó. giá trị thay đổi kịch bản của trường nhập .so tôi muốn phát hiện khi thay đổi văn bản –
Trong trường hợp đó, hãy kiểm tra [this else one] (http://stackoverflow.com/q/1948332/5247200). – David
tnx david vì vậy giải pháp xấu xí duy nhất là sử dụng một bộ đếm thời gian. Tôi không muốn đó là lý do tại sao tôi đã cố gắng quan sát. Nhưng tiếc là không có cách nào khác để làm điều đó –