I fixed this issue by modifying the following in global.js
`
/************************ Original Broken Code ****************/
jq(‘.field-visibility-settings’).hide();
jq(‘.visibility-toggle-link’).on( ‘click’, function() {
var toggle_div = jq(this).parent();
jq(toggle_div).fadeOut( 600, function(){
jq(toggle_div).siblings(‘.field-visibility-settings’).slideDown(400);
});
return false;
} );
jq(‘.field-visibility-settings-close’).on( ‘click’, function() {
var settings_div = jq(this).parent();
jq(settings_div).slideUp( 400, function(){
jq(settings_div).siblings(‘.field-visibility-settings-toggle’).fadeIn(800);
});
return false;
} );
`
`
/********************** Modified Working ***********************/
jq(‘.field-visibility-settings’).hide();
jq(‘.visibility-toggle-link’).click( function() {
var toggle_div = jq(this).parent();
jq(toggle_div).fadeOut( 600, function(){
jq(toggle_div).siblings(‘.field-visibility-settings’).slideDown(400);
});
return false;
} );
jq(‘.field-visibility-settings-close’).click( function() {
var settings_div = jq(this).parent();
jq(settings_div).slideUp( 400, function(){
jq(settings_div).siblings(‘.field-visibility-settings-toggle’).fadeIn(800);
});
return false;
} );
`
Did you by chance load your own jquery? Sometimes plugins block WP and load their own jquery. .on works if you are using the right version of jquery loaded from WordPress