Why isn't my content draggable?

I've written this bit of code which should make the content on my screen draggable. I've created an app before with draggable content which I then copied the sections needed for the function into this app. Could someone please have a look at it for me and tell me where I'm going wrong or some advise?

<td-cards class="card1 shadow" ng-repeat="card in cards | filter:{checked:true}" ng-click="openModal(card)">
  <td-card class="card-{{card.index}} shadow">
    <h4 class="h4-title"> {{ card.title }}</h4>
    <div class="image">
      <img ng-src="{{card.src}}"/>
    </div>
  </td-card>
</td-cards>

JS:

$(function () {
       $(".card1").draggable({
       });
       $(".theLabel").draggable({
       });
    });

I suspect it's in the JS ... you've got a - in the class="card-{{card.index}} shadow" class declaration.

$(function () {
   $(".card-1").draggable({
   });
   $(".theLabel").draggable({
   });
});

Don't see .theLabel in the HTML code.

try using this:since you are using class=card-1,.. dynamically

$(function () {
      $("[class^=card-]").each(function(){
               $( this ).draggable({});
             });
       $(".theLabel").draggable({
       });
    });

this will add dragabble to all element having class name like card-

Since you're working in a hybrid mobile app, I believe your issue is that you haven't included jQuery UI touch punch.

Currently, jQuery UI user interface library does not support the use of touch events in their widgets and interactions. This means that the slick UI you designed and tested in your desktop browser will fail on most, if not all, touch-enabled mobile devices, becuase jQuery UI listens to mouse events—mouseover, mousemove and mouseout—not touch events—touchstart, touchmove and touchend.

That's where jQuery UI Touch Punch comes in. Touch Punch works by using simulated events to map touch events to their mouse event analogs. Simply include the script on your page and your touch events will be turned into their corresponding mouse events to which jQuery UI will respond as expected.