Fixed Chrome incompatibility caused by Firefox violating web standards

This commit is contained in:
Xnoe 2021-08-08 14:00:52 +01:00
parent 14e63205a5
commit 3a4e34eb41
Signed by: xnoe
GPG Key ID: 45AC398F44F0DAFE

View File

@ -3,6 +3,8 @@ let deck;
let resetDeck = []; let resetDeck = [];
let tmpNext; let tmpNext;
let currentDragId;
const tableauWidth = 9; const tableauWidth = 9;
let values = [ let values = [
@ -35,10 +37,12 @@ let suits = [
]; ];
let allowdrop = event => { let allowdrop = event => {
if (event.dataTransfer.getData("x-solitaire/card") == "")
console.log(event.dataTransfer.getData("x-solitaire/card"));
if (currentDragId == "")
return; return;
let bottom = document.getElementById(event.dataTransfer.getData("x-solitaire/card")); let bottom = document.getElementById(currentDragId);
let bottom_gender = bottom.getAttribute("gender"); let bottom_gender = bottom.getAttribute("gender");
if (event.target.classList.contains("foundation") && if (event.target.classList.contains("foundation") &&
@ -80,6 +84,7 @@ let drop = event => {
} }
event.dataTransfer.clearData("x-solitaire/card"); event.dataTransfer.clearData("x-solitaire/card");
currentDragId = "";
}; };
let recursiveValidateDraggable = element => { let recursiveValidateDraggable = element => {
@ -98,8 +103,10 @@ let recursiveValidateDraggable = element => {
}; };
let drag = event => { let drag = event => {
if (recursiveValidateDraggable(event.target)) if (recursiveValidateDraggable(event.target)) {
event.dataTransfer.setData("x-solitaire/card", event.target.id); event.dataTransfer.setData("x-solitaire/card", event.target.id);
currentDragId = event.target.id;
}
} }
let assembleRandomisedDeck = () => { let assembleRandomisedDeck = () => {
@ -146,7 +153,6 @@ window.addEventListener("DOMContentLoaded", () => {
document.addEventListener("dragstart", drag); document.addEventListener("dragstart", drag);
document.addEventListener("drop", drop); document.addEventListener("drop", drop);
document.addEventListener("dragover", allowdrop); document.addEventListener("dragover", allowdrop);
document.addEventListener("dragover", allowdrop);
deck = assembleRandomisedDeck(); deck = assembleRandomisedDeck();
let board = document.getElementById("board"); let board = document.getElementById("board");