Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Uncaught TypeError: jQuery is not a function

roshanc44331495
Level 4
Level 4

Hi There,

Below script is throwing the "Uncaught TypeError: jQuery is not a function" due to that custom tracking get stopped. Could anyone help me to solve this issue.

function bindKudoEvent(){

jQuery('.lia-button-image-kudos-kudoed a.kudos-link').on('click',function(e){

var isAcceptedSol = jQuery(this).parents('.lia-message-view-display').hasClass('lia-accepted-solution');

trackClickTkb(0,"kudo count",isAcceptedSol)

setTimeout(function(){ bindKudoEvent() }, 3500);

});

jQuery('.lia-button-image-kudos-not-kudoed a.kudos-link').on('click',function(e){

var isAcceptedSol = jQuery(this).parents('.lia-message-view-display').hasClass('lia-accepted-solution');

trackClickTkb(1,"kudo count", isAcceptedSol)

setTimeout(function(){ bindKudoEvent() }, 3500);

});

}

bindKudoEvent();

Thanks!

1 Accepted Solution
StewSchilling
Correct answer by
Community Advisor
Community Advisor

Typically, when I see an error like this, it is an indication that the function has been inadvertently overwritten by something that is not a function.   Below is an example of this.

Screen Shot 2018-08-07 at 7.56.05 AM.png

==========================================

Beyond this, the code that you shared has issues.  It is recursing and installing multiple click listeners on your button.

You end up getting a new event listener installed every 3.5 seconds.  That means that if you sat on the page for 36 seconds, and then clicked the button,

      trackClickTkb(0,"kudo count",isAcceptedSol)

would be fired 10 times.

DTM is very good at listening for click events. You should just use DTM event rules for this sort of thing.

View solution in original post

3 Replies
AnalyticsAlice
Level 2
Level 2

Hi there. What happens if you run JQuery on its own in the console? Have you checked that the jQuery script is loaded correctly in your page HTML?

roshanc44331495
Level 4
Level 4

jQuery script is loaded correctly in HTML page still facing the issue, this happened mostly on Page load.

StewSchilling
Correct answer by
Community Advisor
Community Advisor

Typically, when I see an error like this, it is an indication that the function has been inadvertently overwritten by something that is not a function.   Below is an example of this.

Screen Shot 2018-08-07 at 7.56.05 AM.png

==========================================

Beyond this, the code that you shared has issues.  It is recursing and installing multiple click listeners on your button.

You end up getting a new event listener installed every 3.5 seconds.  That means that if you sat on the page for 36 seconds, and then clicked the button,

      trackClickTkb(0,"kudo count",isAcceptedSol)

would be fired 10 times.

DTM is very good at listening for click events. You should just use DTM event rules for this sort of thing.

View solution in original post