Jquery - click is not a function?

时间:2018-03-25 20:14:07

标签: javascript jquery google-chrome

I am getting error saying $clickme.click is not a function?

Uncaught TypeError: $clickme.click is not a function
    at Object.success (xxx.php:1127)
    at fire (jquery-3.3.1.js:3268)
    at Object.fireWith [as resolveWith] (jquery-3.3.1.js:3398)
    at done (jquery-3.3.1.js:9305)
    at XMLHttpRequest.<anonymous> (jquery-3.3.1.js:9548)

Code:

    $('#list_tickets_result').html('');      
    for(let _key_ticket in msg.ticket) {
      var myid = msg.ticket[_key_ticket].id;
      var ticket_id = msg.ticket[_key_ticket].sector + msg.ticket[_key_ticket].pincode;
      var date_time = msg.ticket[_key_ticket].createdate;

      // On click - go to function -- 
      row_s1  = '<div id="r_' + _key_ticket + '" >';          
      row_s1 += '<div  style="border:solid 1px #ff9f01;" class="list_tickets">' + ticket_id + ' # ' + date_time + '</div>';          
      row_s1 += '</div>';

      // ???? ERROR ??????
      let $clickme = row_s1;
      $clickme.click( () => button_select(_key_ticket, myid, ticket_id) );
      $('#list_tickets_result').append($clickme);


    }

    function button_select(input1, input2, input3) {
     //bla bla bla goes here...
    }

1 个答案:

答案 0 :(得分:2)

See here:

let $clickme = row_s1;

But row_s1 is a string, not an object with a click property. Try inserting it into the HTML first, and then selecting the element you want, and then attaching the handler.

let $clickme = row_s1;
$('#list_tickets_result').append($clickme);
$('#list_tickets_result > div:last').click( () => button_select(_key_ticket, myid, ticket_id) );