Событие клика, работающее только в первый раз jquery

Ниже код работает в первый раз после обновления страницы. Но когда я пытаюсь нажать снова, это не работает.

После нажатия на элемент он переходит на следующую страницу (страницу сведений), а когда он возвращается, событие щелчка не работает.

getNewsCategoryloop: function(dataMap){
    var _this = this;
    var text;

    text  = "<div id=\"repeat_get_list_of_category\">";
    for(key in dataMap) {
        text += '<div class="gallery_wrap col-2">\
                    <div class="gallery_view full_image" id="cat'+key+'">\
                        <img src="assets/img/news/athletics_img.jpg" alt="athletics">\
                        <span class="gallery_title">'+ (dataMap[key].field_saf == null ? 'no title' : dataMap[key].field_saf) +'</span>\
                    </div>\
                </div>';
                $(document).on('click', "#cat"+key, function(){
                    _this.getNewsbyCategoryName("#cat"+key);
                })
    }
 text+= "</div>";
 $("#getListOfNewsCategorylist").html(text);            
},  

1 ответ

Решение

Введите этот код:-

$(document).on('click', "#cat"+key, function(){
  _this.getNewsbyCategoryName("#cat"+key);
})

За пределами самой функции и измените ее, как показано ниже:

$(document).on('click', ".gallery_view", function(){
  app.getNewsbyCategoryName($(this).attr('id'));
})

Так что код должен быть:-

getNewsCategoryloop: function(dataMap){
    var _this = this;
    var text;

    text  = "<div id=\"repeat_get_list_of_category\">";
    for(key in dataMap) {
        text += '<div class="gallery_wrap col-2">\
                    <div class="gallery_view full_image" id="cat'+key+'">\
                        <img src="assets/img/news/athletics_img.jpg" alt="athletics">\
                        <span class="gallery_title">'+ (dataMap[key].field_saf == null ? 'no title' : dataMap[key].field_saf) +'</span>\
                    </div>\
                </div>';

    }
    text+= "</div>";
    $("#getListOfNewsCategorylist").html(text);         
};
$(document).on('click', ".gallery_view", function(){
   app.getNewsbyCategoryName($(this).attr('id'));
})
Другие вопросы по тегам