From c8aa81980bc46fce876147cc5125bede1ed02fe0 Mon Sep 17 00:00:00 2001 From: Jan Kissig Date: Tue, 10 Oct 2023 13:36:04 +0200 Subject: [PATCH] Bug_35012 test plan: a) build a new basket + order line using "item create on placing an order" b) in the item creation dialog (neworderempty.pl) please use the webbrowsers dev tools to analyze the [...] button next to subfield d (Date acquired) and inspect the events that get fired by clicking c) notice the Clicktag_952_subfield_d_* event gets fired twice. d) apply patch and reload page e) there should be only 1 click handler left (besides the jquery one), which points to the Clicktag_952_subfield_* function --- Koha/FrameworkPlugin.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Koha/FrameworkPlugin.pm b/Koha/FrameworkPlugin.pm index 2331bfa6b3..5936dcbdc8 100644 --- a/Koha/FrameworkPlugin.pm +++ b/Koha/FrameworkPlugin.pm @@ -329,7 +329,15 @@ sub _add_binding { #click event applies to buttonDot if( $pars =~ /^(e|ev|event)$/i ) { # new style event handler assumed - $bind= qq| \$("#$ctl").$ev(\{id: '$id'\}, $fname);\n|; + + if ($ev eq "click"){ + # remove already registered click listeners + $bind= qq| \$("#$ctl").off('click');\n|; + $bind.= qq| \$("#$ctl").$ev(\{id: '$id'\}, $fname);\n|; + } else { + $bind= qq| \$("#$ctl").$ev(\{id: '$id'\}, $fname);\n|; + } + $script=''; } elsif( $fname eq 'noclick' ) { # no click: return false, no scroll $bind= qq| \$("#$ctl").$ev(function () { return false; });\n|; -- 2.34.1