Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Make a BB Column Clickable
/**
* Makes a BB Column clickable.
* Pre-requisite: There must be an A Tag contained within the column element.
*/
(function($){
// Exit if BB layout is in edit mode.
if ( 'undefined' != typeof window.FLBuilderConfig ) {
return;
}
$('.clickable-col').css('cursor', 'pointer');
$('.clickable-col').on('click', function(event){
$(this).find('a')[0].click();
});
$('.clickable-col a').on('click', function(event){
event.stopPropagation();
});
})(jQuery);
@zackpyle

This comment has been minimized.

Copy link

@zackpyle zackpyle commented Jan 2, 2019

It isn't explicitly stated in that gist, but you have to add a class of clickable-col to that column you want this to apply to

@carlosonweb

This comment has been minimized.

Copy link
Owner Author

@carlosonweb carlosonweb commented Jan 23, 2019

Yes, @zackpyle. You need to add the class name "clickable-col" to the target column. Thanks for your inputs.

@zackpyle

This comment has been minimized.

Copy link

@zackpyle zackpyle commented Oct 9, 2020

@carlosonweb Suggested update to the targeting as to not happen during editing w/ BB - this becomes quite annoying!

jQuery(document).ready(function($) {
  $("body:not(.fl-builder-edit) .clickable-col").css("cursor", "pointer");
  $("body:not(.fl-builder-edit) .clickable-col").on("click", function(event) {
    $(this)
      .find("a")[0]
      .click();
  });

  $("body:not(.fl-builder-edit) .clickable-col a").on("click", function(event) {
    event.stopPropagation();
  });
});
@carlosonweb

This comment has been minimized.

Copy link
Owner Author

@carlosonweb carlosonweb commented Oct 13, 2020

Good catch @zackpyle. Thanks for your input. We can also check for window.FLBuilderConfig to see if the layout is in edit mode or on the live page like so:

    if ( 'undefined' != typeof window.FLBuilderConfig ) {
        // Layout is not in BB Edit mode.
    }

I'm updating the code to this:

(function($){

    if ( 'undefined' != typeof window.FLBuilderConfig ) {
        return;
    }
    
    $('.clickable-col').css('cursor', 'pointer');
    $('.clickable-col').on('click', function(event){
        $(this).find('a')[0].click();
    });

    $('.clickable-col a').on('click', function(event){
        event.stopPropagation();
    });
})(jQuery);

@zackpyle

This comment has been minimized.

Copy link

@zackpyle zackpyle commented Oct 13, 2020

👍🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment