adding document event listener on

alphons <alphons@heijden.com> 23 Nov 2024, 12:34
785a69bd51cf6a91f2e65a97c5ad29392e1ee98a
2 files changed
  • netproxy.nuspec
  • src/NetproxySolution.Web/wwwroot/scripts/macros.js
diff --git a/netproxy.nuspec b/netproxy.nuspec
index 5ca37c6..5a9d579 100644
--- a/netproxy.nuspec
+++ b/netproxy.nuspec
@@ -2,7 +2,7 @@
<package >
<metadata>
<id>netproxy</id>
- <version>2.1.0</version>
+ <version>3.0.0</version>
<title>netproxy</title>
<readme>docs\README.md</readme>
<authors>alphons</authors>
diff --git a/src/NetproxySolution.Web/wwwroot/scripts/macros.js b/src/NetproxySolution.Web/wwwroot/scripts/macros.js
index cd4ed4c..917647c 100644
--- a/src/NetproxySolution.Web/wwwroot/scripts/macros.js
+++ b/src/NetproxySolution.Web/wwwroot/scripts/macros.js
@@ -60,6 +60,31 @@ Element.prototype.toggleVisibility = function ()
return this;
};
+Document.prototype.on = function (event, selectorOrHandler, handler)
+{
+ if (typeof selectorOrHandler === 'function')
+ {
+ this.addEventListener(event, selectorOrHandler);
+ }
+ else if (typeof selectorOrHandler === 'string' && typeof handler === 'function')
+ {
+ this.addEventListener(event, function (e)
+ {
+ if (e.target.matches(selectorOrHandler))
+ {
+ handler.call(e.target, e);
+ }
+ });
+ }
+ else
+ {
+ throw new Error('Invalid arguments: Expected (event, selector, handler) or (event, handler).');
+ }
+
+ return this;
+};
+
+
Element.prototype.on = function (event, selectorOrHandler, handler)
{
if (typeof selectorOrHandler === 'function')