2016-11-09 80 views
0

你能帮我,如何解决这个代码,使其工作在Firefox和IE?JavaScript显示/隐藏不工作在Firefox和IE

如果你把卡2 - > 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://jsfiddle.net/70x2set8/3/

+0

添加更多细节或示例代码,哪里有问题? – Griva

+0

你好,我刚刚上传jsfiddle与我的问题...它不工作在Firefox和ie –

回答

1

我的印象中,这里的整体例如在恶劣的方式完成。我不确定你的目标是什么,但浏览器中的事件存在一般问题。

有时chrome,FF,IE等以错误的方式显示事件或具有不同的属性名称。

在你的例子中属性.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版本后开始工作。

无论如何下一次更好地描述你需要什么,哪里是一块不工作的代码。

+0

我不知道如何表示感谢,但我很高兴!你的知识给我留下了深刻的印象!太感谢了!! –