我只是在所有drop
被删除的情况下尝试触发draggables
事件。
drop: function(event,ui){
var dropd = "#"+ui.draggable.attr("id");
if("#a_dra" && "#b_dra" && "#c_dra" && "#d_dra" == dropd){
$("#whistle").get(0).play();
dfd.resolve();
};
},
有了这个code
,就会出现问题。当每个div
被删除并正确触发时,它都有效。 除了,当我只删除#a_dra
和#d_dra
时,它也会触发,这是不可取的,因为我需要随机。
我在那里缺少什么?
提前致谢! :)
答案 0 :(得分:4)
if("#a_dra" && "#b_dra" && "#c_dra" && "#d_dra" == dropd){
上述行实际上意味着
if(("#a_dra" == true) && ("#b_dra" == true) && ("#c_dra" == true) && ("#d_dra" == dropd)) {
您无法将比较简化为多个值。
您可以保留每个被删除的可拖动状态,这样您就可以检查是否所有这些都已被删除,以便您可以解决延迟:
var dropped = {}
....
drop: function(event,ui){
var dropd = "#"+ui.draggable.attr("id");
dropped[dropd] = true;
if(dropped["#a_dra"] && dropped["#b_dra"] && dropped["#c_dra"] && dropped["#d_dra"]){
$("#whistle").get(0).play();
dfd.resolve();
};
},