jQuery UI列表视图未刷新
使用jqueryui(w/jquery1.9.1)。我有一个可排序的列表。我通过一个表单添加dom元素。用户单击一个按钮,将出现一个对话框。用户在文本框中键入文本,然后单击“添加页面”。新的列表项将附加到列表中。问题是listview不包含正确的CSS 这里有一个JSFIDLE--> 单击红色按钮之前,可以在列表项之间单击,并注意选定的列表项将变为蓝色。但是,任何新项目都不会变为蓝色 我试过:jQuery UI列表视图未刷新,jquery,jquery-ui,listview,jquery-ui-sortable,Jquery,Jquery Ui,Listview,Jquery Ui Sortable,使用jqueryui(w/jquery1.9.1)。我有一个可排序的列表。我通过一个表单添加dom元素。用户单击一个按钮,将出现一个对话框。用户在文本框中键入文本,然后单击“添加页面”。新的列表项将附加到列表中。问题是listview不包含正确的CSS 这里有一个JSFIDLE--> 单击红色按钮之前,可以在列表项之间单击,并注意选定的列表项将变为蓝色。但是,任何新项目都不会变为蓝色 我试过: $('#pageList ul').trigger('create').listview('refre
$('#pageList ul').trigger('create').listview('refresh');
但我收到一个错误,即“对象没有方法”listview“1:问题出在这一行:
$('.page').click(function() {
$('.page').removeClass('selected');
$(this).addClass('selected');
});
2:解决方案如下:
3:一些解释:
因为您有事先不知道的动态元素,所以必须让jQuery知道这一点。发件人:
事件处理程序仅绑定到当前选定的元素;他们
在代码调用.on()时页上必须存在
你想要的是:
Delegated events have the advantage that they can process events from descendant
elements that are added to the document at a later time.
解决方案:
$('.item-list').on("click","li",function() {
$('.page').removeClass('selected');
$(this).addClass('selected');
});