![](/img/trans.png)
[英]how to fire an event when h:inputText is focused out in javascript
[英]h:inputText does not fire ajax change event when changing its value from javascript
我有一个输入文本字段,当触发keyup事件时,它会在javascript函数中更改其值; af:应该为change事件触发的ajax:
<h:inputText ... onkeyup="functionThantChangesTextValue(this);">
<f:ajax event="change" listener="#{someExpensiveCall()}".../>
</h:inputText>
问题是,如果我以编程方式更改javascript functionThantChangesTextValue中 inputText的值,那么ajax不会触发更改事件
我试过这个:
function functionThantChangesTextValue(field) {
...
field.value = finalValue;
field.onchange();
}
在这种情况下,ajax事件触发正常,但我不希望在更改值后立即发生这种情况。 我真正想要的是在更改值和失去焦点时执行ajax。
最终,我设法找到了一些使用blur
和focus
事件的解决方案。 在focus
事件中,我使用storeOldValue
函数存储旧的inputTextValue值,然后仅当当前输入文本值与旧的输入文本值不同时才在blur
事件上执行someExpensiveCall
。 通过这种方式,我尝试模拟change
事件..
<h:inputText ... onkeyup="functionThantChangesTextValue(this);">
<f:ajax event="focus" listener="#{storeOldValue()}"/>
<f:ajax event="blur" listener="#{someExpensiveCall()}".../>
</h:inputText>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.