【发布时间】:2016-08-23 10:16:17
【问题描述】:
我有一个输入文本字段,当 keyup 事件被触发时,它会在 javascript 函数中更改其值,并且应该为 change 事件触发一个 f:ajax:
<h:inputText ... onkeyup="functionThantChangesTextValue(this);">
<f:ajax event="change" listener="#{someExpensiveCall()}".../>
</h:inputText>
问题是,如果我以编程方式更改 javascript functionThantChangesTextValue 中 inputText 的值,则 ajax 不会为 change 事件触发
我试过这个:
function functionThantChangesTextValue(field) {
...
field.value = finalValue;
field.onchange();
}
在这种情况下,ajax 事件触发良好,但我真的不希望在更改值后立即发生这种情况。 我真正想要的是在更改值和失去焦点时执行 ajax。
【问题讨论】:
-
“失去焦点时”
blur事件合适吗? -
是的,我使用
blur结合focus事件来使其工作,请参阅答案。问题是,如果您使用 javascript 以编程方式更改输入字段的值,change事件将不会触发
标签: javascript ajax jsf