我正在使用Yii框架,并广泛使用CListViews。然而,我不断遇到一个我无法解决的问题:
这是我的CListView
$this->widget('zii.widgets.CListView', array(
'viewData'=>array('sent'=>$sent),
'dataProvider'=>$dp,
'pager' => array(
'prevPageLabel'=>'< Prev.',
'nextPageLabel'=>'Next>',
'header'=>'Pagina: ',
'pageSize'=>5,),
'template'=>"{items}\n{pager}",
'itemView'=>'_messageView',
'emptyText'=>'Empty inbox',
'enablePagination'=>true,
'afterAjaxUpdate' => 'js:function(id) {alert("after");}',
'id'=>'listMessages',
));
我有一个JS方法,它以下列方式更新列表:
function sent_view(){
$.fn.yiiListView.update('listMessages',
{data:'type=sent', url:'view?sort=timestamp&ajax=listMessages'});
}
调用此函数后,所有与CListView的每个项目相关的事件都不再存在。我尝试添加下一段代码以便再次附加处理程序,但它不起作用。如果我在$ .fn.yiiListView.update代码行之后添加它,它甚至不会显示警告。
$(".individualMessage").mouseover(function(){
$(this).css('cursor','pointer');
$(this).css("background",'url(/../images/messages/background.png)');
});
有人遇到过类似的问题吗?谢谢!
答案 0 :(得分:1)
您需要使用jQuery的“实时”功能,例如
$(".individualMessage").live("mouseover",function(){
$(this).css('cursor','pointer');
$(this).css("background",'url(/../images/messages/background.png)');
});