右键单击富面组件

时间:2013-03-07 08:55:01

标签: jsf richfaces jsf-1.2

我只需要在suggestionbox专门用于富脸组件中的右键单击事件。

我需要在鼠标右键单击和左键单击时提供一些功能。 我认为这将使用富有的contextMenu来完成,但它不适用于suggestionbox

在每个输出文本上我想传递id并显示模态面板(右键单击并左键单击以显示不同的模型面板。)

jsf 1.2 + richfaces 3.3

我的代码

<h:inputText id="templateName"  style="text-align:left" size="45"
                    value="#{templateMaintenanceBean.templateName}"
                    onblur="upperCase(this)" >

                <sc:suggestionbox height="200" width="300" id="properySuggestBox" for="templateName"  
                    oncomplete="testFunction();" nothingLabel="No Template Found" reRender="selectedMedicationDiv"
                    suggestionAction="#{templateMaintenanceBean.autocomplete}" var="result" border="2" minChars="0"
                     immediate="true" shadowDepth="10"   >

                    <h:column>  
                          <h:outputText value="#{result.templateName}" id="temp" /> 

                    </h:column>


                </sc:suggestionbox>

1 个答案:

答案 0 :(得分:1)

在富面孔或任何面孔中没有直接获得右键单击事件的方法(contextMenu除外)(这里不起作用)。

只能使用jquery:

suggestionbox的示例:

<script type="text/javascript">

        jQuery.noConflict();
        jQuery(document).ready(function($){

        var temp = $('#templateListForm\\:properySuggestBox div div table tbody tr td div table tbody tr td');

        temp.live('contextmenu', function(ev){
            ev.preventDefault();
            //alert("Value:::"+$(this).parent().index('tr'));   
            //alert($(this).text());
          if(ev.which == 3)
          {
             var templateName = $(this).text();

        //    handle Events(Link any button click) which we have to perform 

          }

            });  
        });

    </script> 

temp变量中,我得到了建议框的表格。