Prevent page jumping when clicking buttons

This commit is contained in:
Florine W. Dekker 2022-11-30 15:23:15 +01:00
parent 97d1536adb
commit bfbbda2624
Signed by: FWDekker
GPG Key ID: D3DCFAA8A4560BE0
2 changed files with 37 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{
"name": "minesweeper",
"version": "0.85.2",
"version": "0.85.3",
"description": "Just Minesweeper!",
"author": "Florine W. Dekker",
"browser": "dist/bundle.js",

View File

@ -107,6 +107,7 @@ export class Game {
+this.minesInput.value,
this.solvableInput.checked
);
this.customDifficultyOverlay.close();
}
});
@ -120,12 +121,22 @@ export class Game {
// New game form
$("#new-game").addEventListener(
"click",
() =>
this.initNewField(this.field?.width, this.field?.height, this.field?.mineCount, this.field?.isSolvable)
(event: MouseEvent) => {
event.preventDefault();
this.initNewField(this.field?.width, this.field?.height, this.field?.mineCount, this.field?.isSolvable);
}
);
// Restart
$("#restart").addEventListener("click", () => this.field?.undo()); // Undoes all
$("#restart").addEventListener(
"click",
(event: MouseEvent) => {
event.preventDefault();
this.field?.undo(); // Undoes all
}
);
// Seed
const seedInput = $("#seed");
@ -150,17 +161,33 @@ export class Game {
// Undo
this.undo = $("#undo");
this.undo.addEventListener("click", () => this.field?.undo(1));
this.undo.addEventListener(
"click",
(event: MouseEvent) => {
event.preventDefault();
return this.field?.undo(1);
}
);
// Redo
this.redo = $("#redo");
this.redo.addEventListener("click", () => this.field?.redo(1));
this.redo.addEventListener(
"click",
(event: MouseEvent) => {
event.preventDefault();
return this.field?.redo(1);
}
);
// Hint
this.hint = $("#hint");
this.hint.addEventListener(
"click",
() => {
(event: MouseEvent) => {
event.preventDefault();
if (this.field != null) {
this.statistics.hintsRequested++;
this.display.hintSquare = Solver.getHint(this.field);
@ -172,7 +199,9 @@ export class Game {
this.solve = $("#solve");
this.solve.addEventListener(
"click",
() => {
(event: MouseEvent) => {
event.preventDefault();
if (this.field != null) {
this.statistics.solverUsages++;
Solver.solve(this.field);