Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery UI列表视图未刷新_Jquery_Jquery Ui_Listview_Jquery Ui Sortable - Fatal编程技术网

jQuery UI列表视图未刷新

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

使用jqueryui(w/jquery1.9.1)。我有一个可排序的列表。我通过一个表单添加dom元素。用户单击一个按钮,将出现一个对话框。用户在文本框中键入文本,然后单击“添加页面”。新的列表项将附加到列表中。问题是listview不包含正确的CSS

这里有一个JSFIDLE-->

单击红色按钮之前,可以在列表项之间单击,并注意选定的列表项将变为蓝色。但是,任何新项目都不会变为蓝色

我试过:

$('#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');
});