2017-04-04 48 views
0

我在使用Web服务的按需加载(懒惰)模式中使用RadComboBox。RadComboBox:使用客户端项目模板进行滚动时单击处理程序在按需加载时丢失

我使用这种形式的客户端项目模板:<input type='checkbox' id='cb_#= Value #'/><span>#= Text #</span>(每个项目的文本前添加一个复选框)

在此radcombobox控件我检索特定项目的DOM元素的ItemDataBound客户端的处理程序和嵌套复选框的DOM元素和添加一个点击处理函数为他们每个人(使用jquery的$(element).click(function() {}))。

点击处理程序函数正常工作,直到我滚动项目的视图,然后向后滚动,之后,不再调用点击处理程序(复选框选择也丢失)。

我想这是因为代表项目的DOM元素在滚动和滚动时被重新创建。但是itemDataBound事件只会引发一次,并且当某个项目在视图中向后滚动时不会再次引发。

我能想到的唯一解决方法是使用HTML中的onclick属性,并引用全局函数,但这很丑陋。

是否有更好的解决方案,然后使用onclick属性?

回答

0

它实际上会追加到列表元素的innerHtml,但这实际上是重新移动并重新添加列表元素下的每个节点。

我工作围绕这通过指定我的点击处理程序,并在itemsRequested客户端的处理程序做databiding,遍历与RadCombobBox客户端对象的get_items()方法获得项目的完整列表。

itemsRequested每次在新项目被添加到列表中之后被调用,因此每次在DOM被重新创建之后被调用。

相关问题