Skip to content

Commit c88f696

Browse files
committed
refactor(js): replace deprecated jQuery shorthand event methods with .on() and .trigger()
This commit updates usage of deprecated jQuery event shorthand methods (e.g., `.click()`, `.scroll()`, `.focus()`) with their modern, explicit alternatives: `.on('<event>', ...)` for binding handlers and `.trigger('<event>')` for dispatching events. - `$(...).scroll(fn)` → `$(...).on('scroll', fn)` - `$(...).click(fn)` → `$(...).on('click', fn)` - `$(...).focus()` → `$(...).trigger('focus')` - Reviewed and replaced similar shorthand usages across the codebase These shorthand event methods were convenient but are now deprecated due to ambiguity between *event binding* and *event triggering*. For example: - `$(...).focus()` may either trigger or bind a handler depending on context — a source of confusion and bugs. - Explicit separation using `.on()` (for binding) and `.trigger()` (for dispatching) improves code clarity and predictability. These changes align with modern jQuery best practices and are necessary for compatibility with newer versions of jQuery. Reference: https://api.jquery.com/category/deprecated/
1 parent 6d34f3c commit c88f696

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

assets/js/application.js

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ $(document).ready(function() {
4343

4444
function onPopState(fn) {
4545
if (window.history && window.history.pushState) {
46-
return $(window).bind('popstate', function(event) {
47-
var section;
46+
return $(window).on('popstate', function () {
4847
initialPop = !popped && location.href === initialURL;
4948
popped = true;
5049
if (initialPop) {
@@ -115,7 +114,7 @@ var GitTurns20 = {
115114
} else {
116115
let start = 0
117116
let count = 0
118-
$("#tagline").click(e => {
117+
$("#tagline").on('click', e => {
119118
if (count === 0 || e.timeStamp > start + count * 1000) {
120119
start = e.timeStamp;
121120
count = 1;
@@ -181,20 +180,20 @@ var Search = {
181180
},
182181

183182
observeFocus: function() {
184-
$('form#search input').focus(function() {
183+
$('form#search input').on('focus', function () {
185184
$(this).parent('form#search').switchClass("", "focus", 200);
186185
});
187-
$('form#search input').blur(function() {
186+
$('form#search input').on('blur', function () {
188187
Search.resetForm();
189188
});
190189
},
191190

192191
observeTextEntry: function() {
193-
$('form#search input').keyup(function(e) {
192+
$('form#search input').on('keyup', function () {
194193
Search.runSearch();
195194
});
196195

197-
$('form#search input').keydown(function(e) {
196+
$('form#search input').on('keydown', function (e) {
198197
if ($('#search-results').not(':visible') && e.which != 27) {
199198
$('#search-results').fadeIn(0.2);
200199
Search.highlight(Search.selectedIndex);
@@ -220,16 +219,16 @@ var Search = {
220219
},
221220

222221
observeResultsClicks: function() {
223-
$('#search-results').mousedown(function(e) {
222+
$('#search-results').on('mousedown', function (e) {
224223
e.preventDefault();
225224
});
226225
},
227226

228227
installKeyboardShortcuts: function() {
229-
$(document).keydown(function(e) {
228+
$(document).on('keydown', function (e) {
230229
if (e.target.tagName.toUpperCase() !== 'INPUT' && ['s', 'S', '/'].includes(e.key)) {
231230
e.preventDefault();
232-
$('form#search input').focus();
231+
$('form#search input').trigger('focus');
233232
}
234233
else if (e.target.tagName.toUpperCase() !== 'INPUT') GitTurns20.keydown(e);
235234
});
@@ -491,7 +490,7 @@ var Forms = {
491490
},
492491

493492
observeCopyableInputs: function() {
494-
$('input.copyable').click(function() {
493+
$('input.copyable').on('click', function () {
495494
$(this).select();
496495
});
497496
}
@@ -545,7 +544,7 @@ var Downloads = {
545544
},
546545

547546
observeGUIOSFilter: function() {
548-
$('a.gui-os-filter').click(function(e) {
547+
$('a.gui-os-filter').on('click', function (e) {
549548
e.preventDefault();
550549
var os = $(this).attr('data-os');
551550

@@ -648,7 +647,7 @@ var DarkMode = {
648647
}
649648
button.css("display", "block");
650649

651-
button.click(function(e) {
650+
button.on('click', function (e) {
652651
e.preventDefault();
653652
let theme
654653
if (prefersDarkScheme) {
@@ -780,12 +779,12 @@ var PostelizeAnchor = {
780779

781780
// Scroll to Top
782781
$('#scrollToTop').removeClass('no-js');
783-
$(window).scroll(function() {
782+
$(window).on('scroll', function () {
784783
$(this).scrollTop() > 150
785784
? $('#scrollToTop').fadeIn()
786785
: $('#scrollToTop').fadeOut();
787786
});
788-
$('#scrollToTop').click(function(e) {
787+
$('#scrollToTop').on('click', function (e) {
789788
e.preventDefault();
790789
$("html, body").animate({
791790
scrollTop: 0

0 commit comments

Comments
 (0)