你可以帮助我,如何修复这段代码,让它在firefox和IE中运行?
如果你放弃card2 - > card3不会在firefox中显示
$(".stackDrop").droppable({
tolerance: "intersect",
accept: ".card1, .card2",
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function(event, ui) {
$(this).append($(ui.draggable));
if($(event.toElement).hasClass("card1")){ $('.card2').hide(); };
if($(event.toElement).hasClass("card2")){ $('.card3').show(); };
}
});
有一个指向jsfiddle的链接:https://wooey.herokuapp.com/
答案 0 :(得分:1)
我的印象是这里的一个完整例子是以糟糕的方式完成的。我不确定你的目标是什么,但浏览器中的事件存在普遍问题。
有时,chrome,FF,IE等以错误的方式显示事件或具有不同的属性名称。
在您的示例中,FF中的属性.toElement
未定义,这就是为什么它不起作用。
您可以通过将其更改为event.originalEvent.target
来修复它。
https://jsfiddle.net/x25wjs6j/
if($(event.originalEvent.target).hasClass("card1")){ $('.card2').hide(); };
if($(event.originalEvent.target).hasClass("card2")){ $('.card3').show(); };
另外检查你的Jquery版本。第一组jQuery版本支持IE和其他旧东西,另一套不支持使用一些新功能。检查它 - 它可以在更改jQuery版本后开始工作。
无论如何,下次更好地描述你需要什么,以及哪些是不工作的代码。