p:自动完成completemethod不会被带有鼠标事件的copy-pate触发

时间:2017-06-05 12:22:11

标签: javascript jquery jsf primefaces autocomplete

我正在使用primefaces autocomplete component。 我的问题是当我在该组件中复制并粘贴(使用鼠标)而不是 ctrl + V 时,没有任何反应,不会触发完整方法,也不会返回列表。

有没有办法让鼠标复制粘贴的行为类似于 p:autocomplete 的键盘事件?

这是我正在处理的一段代码

<p:autoComplete size="20" minQueryLength="3" id="quickSearch" styleClass="quickSearch"
        value="#{bean.value}" completeMethod="#{bean.searchList}" var="object"
        itemValue="#{object}" itemLabel="#{object.objectCode}" converter="complexConverter"
        style="margin-left: -50;" forceSelection="true" widgetVar="quickSearchVar"
        emptyMessage="No Results Found..">
    <p:ajax event="itemSelect" listener="#{bean.goToObject()}"></p:ajax>
    <p:column>
        ...
        ...
    </p:column>
</p:autoComplete>

这就是我试图捕捉复制粘贴事件的地方

$('.quickSearch').on('paste', function() {
    // alert('hello');
    // here I need to trigger what I am asking for
});

我想知道是否有人可以向我解释什么事件触发整个方法并返回建议。

提前致谢。

2 个答案:

答案 0 :(得分:1)

PrimeFaces的autoComplete小部件有一个名为showSuggestions的方法,可以通过javascript函数调用它,您可以使用组件的widgetVar

PF('quickSearchVar').showSuggestions(PF('quickSearchVar').input.val())

答案 1 :(得分:0)

这是我的解决方法,使鼠标粘贴的行为类似于键盘事件:

 request.open('GET', file, true);
 request.onload = function() { 
   //response is available as request.response here
}