简体   繁体   English

为什么我的“单击”事件侦听器不能用于删除按钮?

[英]Why isn't my “click” event listener working for my delete button?

So i'm am trying to make a my button with the class of delete( it is being created via like 34 on my javascript.) So I set up an onclick the same way I did for my submit button but nothing happens when It is clicked. 所以我想用delete类制作一个我的按钮(它是通过JavaScript上的34来创建的。)所以我以与提交按钮相同的方式设置了onclick,但是当它是点击。 It has a simple console log to test if it is working. 它具有一个简单的控制台日志以测试其是否正常运行。 What is wrong with my code? 我的代码有什么问题?

$(document).ready(function() {
    $('#movie-search-submit').on('click', function(e) {
        e.preventDefault();
        var search_term = encodeURIComponent($('#movie-title-search').val()); //gets value from element
        var select_media = encodeURIComponent($('#media-select').val());
        console.log(search_term);
        console.log(select_media);
        var url = 'https://itunes.apple.com/search?country=US&term=' + search_term + '&media=' + select_media;


        var log_response = function(response) {
            $.each(response.results, function(key, item) {

                if (item.longDescription !== undefined) {
                    populate_listings(key, item);
                }

            });
        }


        $('.delete').on('click', function(e) {
             e.preventDefault();
             console.log("test");
         });


        var populate_listings = function(key, item) {
            var result_row = '<div id="result-' + key + '" class="row"></div>';
            $('#page-container').append(result_row);
            var title = '<div class="api-result col-md-2 title"><h2>' + item.trackName + '</h2></div>'
            var year = '<div class ="api-result col-md-4 year"><h4>' + item.releaseDate + '</h4></div>'
            var description = '<div class ="api-result col-md-4 description"><p>' + item.longDescription + '</p></div>'
            var delete_button =  '<div class="btn btn-lg btn-primary col-md-2 delete">Delete</div>';
            $('#result-' + key).append(title);
            $('#result-' + key).append(year);
            $('#result-' + key).append(description);
            $('#result-' + key).append(delete_button);

        }

        $.ajax({
            method: "GET",
            url: url,
            dataType: 'jsonp',
            success: log_response,
        });
    });   
});

.delete button is not available when you are attaching the event to it. 将事件附加到.delete按钮时, .delete按钮不可用。 So delegate the event 所以委派活动

$('body').on('click','.delete', function(e) {
             e.preventDefault();
             console.log("test");
         });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM