-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
Description
Description
import std/[dom]
proc onkeydownEventHandler(e: Event) =
echo "hey"
window.addEventListener "keydown", onkeydownEventHandler
window.removeEventListener "keydown", onkeydownEventHandler
<script src="./play.js"></script>
Nim Version
Nim Compiler Version 2.1.9 [Windows: amd64]
Compiled at 2024-07-30
Copyright (c) 2006-2024 by Andreas Rumpf
active boot switches: -d:release
Current Output
`hey` is printed after every key press
Expected Output
it should not not log anything when pressing keys
Possible Solution
here's the produced code when -d:danger
:
Temporary1 = onkeydownEventHandler__play_u2.bind(null); Temporary1.ClP_0 = onkeydownEventHandler__play_u2; Temporary1.ClE_0 = null;
window.addEventListener("keydown", Temporary1, false);
Temporary2 = onkeydownEventHandler__play_u2.bind(null); Temporary2.ClP_0 = onkeydownEventHandler__play_u2; Temporary2.ClE_0 = null;
window.removeEventListener("keydown", Temporary2);
it would work simply if the following code would be generated:
window.addEventListener("keydown", onkeydownEventHandler__play_u2, false);
window.removeEventListener("keydown", onkeydownEventHandler__play_u2);
perhaps it is good to allow addr someFunction
in js
backend for workaround. i.e. the following code should produce the above code:
window.addEventListener "keydown", addr onkeydownEventHandler
window.removeEventListener "keydown", addr onkeydownEventHandler
Additional Information
No response