2011-06-02 79 views
2

如何将网格单元格中的字符串不仅包含字符串<span>text</span>,还包含具有事件处理程序的字符串? 此选项不适合我:使用事件处理程序添加复杂标记

<span onclick='function(){...}'>click me</span> 

我需要在一个网格单元格添加,例如,这样的元素:

var $el1 = $('<button>clck me 1</button>').click(function(){...}); 
var $el2 = $('<button>clck me 2</button>').click(function(){...}); 
... 

我用slick.dataview。

+1

首先,您需要创建一个Cell Formater,它可以转换html元素中的值。在这个元素中添加一个类属性。在事件的函数内部创建一个onRenderCompleted事件,您可以添加像click这样的选择器处理程序。请参阅[链接]中的源代码http://mleibman.github.com/SlickGrid/examples/example2-formatters.html – 2011-07-22 08:29:54

回答

4

不要。 通过使用它公开的onClick事件处理通过SlickGrid的点击事件,或者在更高级别(容器或文档)上使用事件委托来捕获它。向这些按钮添加一个属性,以便稍后区分它们并决定执行哪个处理程序。

+1

我同意。如果添加点击事件,请小心,如果将来需要可编辑单元格,则必须考虑。可编辑的单元格通过一次或两次单击来激活其功能,具体取决于配置 – 2011-07-22 08:35:28