我正在使用JSF、RichFaces和JavaScript。我通过JavaScript更改输入字段的值,在这样的更改之后,我想触发一个事件。我的第一次尝试是使用这个代码:
<t:inputText id="info" value="#{controller.state}" onchange="adaptUserInterface();" />
不幸的是,"onchange"没有被触发。如何解决这个问题?
使用onBlur。这应该足以满足你的需求。
您可以将onKeyup
用于更改,将onPaste
和onInput
用于粘贴文本字段中的内容。
(function() {
var info = document.getElementById('info');
info.addEventListener('keyUp', function(){ adaptUserInterface(info.value)} );
info.addEventListener('paste', function(){ adaptUserInterface(info.value)} );
info.addEventListener('input', function(){ adaptUserInterface(info.value)} );
})();
function adaptUserInterface(value){
console.log(value);
}
此处演示