2013-02-11 69 views
0

我正在使用JSF,RichFaces和JavaScript。我通过JavaScript更改了输入字段的值,并在发生这样的变化之后,我想触发一个事件。我的第一次尝试是使用此代码:输入字段值由javascript更改后触发事件

<t:inputText id="info" value="#{controller.state}" onchange="adaptUserInterface();" /> 

不幸的是“平变化”没有被触发。如何解决这个问题?

+0

你可以用这个:http://www.zurb.com/playground/jquery-text-change-custom-event – techfoobar 2013-02-11 09:54:33

+0

你想调用一个js函数来改变文本吗?知道当您的输入失去焦点时会调用change事件(例如,在它外面点击) – Daniel 2013-02-11 09:58:20

回答

0

您可以使用onKeyup进行更改,并使用onPasteonInput对文本字段中的粘贴内容进行更改。

(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); 
} 

DEMO HERE

1

使用onBlur。这应该足够你想要的。

相关问题