从Primefaces特定小部件覆盖方法

sin*_*air 7 javascript primefaces jsf-2

我想覆盖Primefaces数据表组件的功能.根据这个问题:如何基于widgetVar在Primefaces组件中查找和/或覆盖JavaScript?它可以通过使用PrimeFaces.widget.DataTable.prototype..但我想只为一个数据表覆盖此函数,而不是所有.

这不起作用:

<p:dataTable widgetVar="myTable" ...>
</p:dataTable>
....
<script type="text/javascript">
       $(document).ready(function(){
           if (PF('myTable') !== undefined) {
                PF('myTable').jq.datatable({
                     showCellEditor: function (c) {
                         console.log('my function');
                     }
                 });
            }
         });
</script>
Run Code Online (Sandbox Code Playgroud)

这是应该怎么做或我完全错了?

Xtr*_*ica 8

用我的一个表测试:

PF('myTable').showCellEditor = function() {
    console.log('my function')
}
Run Code Online (Sandbox Code Playgroud)

如果您需要,请不要忘记调用通用实现:

PF('myTable').showCellEditor = function() {
    console.log('my function')
    // call the generic implementation:
    PrimeFaces.widget.DataTable.prototype.showCellEditor.call(this);
}
Run Code Online (Sandbox Code Playgroud)

也可以看看: