2016-11-09 79 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

我不知道如何表示感謝,但我很高興!你的知識給我留下了深刻的印象!太感謝了!! –