我遵循以下问题来实现“全选”功能: 如何使用 jQuery UI 以编程方式选择可选择项?
全选按钮在 ._mouseStop 命令的位置上完美运行,然后它只是吐出错误:
Uncaught TypeError: Cannot call method '_mouseStop' of undefined
这是代码的相关部分:
第一步:这个页面有四个列表,四个都使用可选插件
//Make all four lists selectable
$("#selectNewTweets").selectable();
$("#selectApprovedTweets").selectable();
$("#selectDeclinedTweets").selectable();
$("#selectUndecidedTweets").selectable();
第 2 步:批量注册所有“全选”按钮(每个列表一个)
//click a "Select All" button
$("[id^=btnSelectAll]").click(function(e){
var id = $(this).attr('id');
var list = id.substring(
"btnSelectAll".length,
id.length);
//select all elements in target list
$("#select"+list+"Tweets > li").each(function(index){
$(this).removeClass('ui-selected');
$(this).addClass("ui-selecting");
});
$("#select"+list+"Tweets").data("selectable")._mouseStop(null);
});
当我单击任何“全选”按钮时,里面的元素都获得了“ui-selecting”类,因此 .each() 语句运行良好。但是,一旦到达 ._mouseStop() 行,它就会抛出我上面提到的异常。
任何想法是什么导致了异常?