只有在删除所有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时,它也会触发,这是不可取的,因为我需要它是随机的。
我在里面少了什么?
谢谢!)
发布于 2012-10-28 19:10:36
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();
};
},https://stackoverflow.com/questions/13112068
复制相似问题