Wondering if there is a way to combine identical code of 2 separate functions into 1 function.
In my case:
jQuery(\'body\').on(\'click\', \'.some_div
You can define a single function which you call under both events:
function doSomething(e) {
console.log('Your code here...');
}
jQuery('body').on('click', '.some_div', doSomething);
jQuery(window).resize(doSomething);
Bear in mind that the reference to this
will be different depending on the event raised, should that be used within your doSomething
function.
create a separate function and call it from required locations:
jQuery('body').on('click', '.some_div', function(e){
myFunction();
});
jQuery(window).resize(function() {
myFunction();
});
function myFunction(){
// Long and fancy code
}
There's another way to do that.
jQuery('body').on('click', '.some_div', function (e) {
// Long and fancy code
});
jQuery(window).resize(function () {
$('.some_div').trigger('click')
});
You can create a function to handler both the events and pass this function reference to the event handlers.
function myHandler(e) {
// Long and fancy code
}
jQuery('body').on('click', '.some_div', myHandler);
jQuery(window).resize(myHandler);