javascript - 如何将事件处理程序添加到 jQuery 中动态创建的按钮?

标签 javascript php jquery html ajax

我使用 AJAX 动态创建 HTML 但我遇到了问题

<script>
    function page_loaded(){
        jQuery.ajax({
            method: "GET",
            url: "get_data_dashboard.php",
            success: function(data){
                var markers = JSON.parse(data);
                for(var i = 0; i < markers.length; i++){
                    var m = markers[i];
                    var markerHTML = "<div class='marker'>" +
                        "<span id='naziv'>Naziv zahtjeva: " + m.naziv + "</span></br>" + 
                        "<span id='ulica'>Ulica: " + m.ulica + "</span></br>" + 
                        "<p id='opis'>Opis:</br>" + m.opis + "</p></br>" + 
                        "<span id='email'>Email: " + m.email + "</span></br>" + 
                        "<img id='slika' src='" + m.link_slike + "' />" + "</br>" + 
                        "<textarea rows='5' cols='30' maxlength='500' id='t" + m.marker_id + "' placeholder='Komentar'>" + "</textarea></br>"
                        + "<div class='buttons'><a href='odobri_prijavu.php?id=" + m.marker_id + "'>Odobri</a>" +
                            "<a href='izbrisi_prijavu.php?id=" + m.marker_id + "'>Izbriši</a>"  + "</div>"  + 
                        "</div><hr>";

                    $('#content').append(markerHTML);
                }

            }
        })



    }
    $(document).ready(page_loaded());

</script>

我尝试首先使用按钮而不是 anchor 标记,但我不知道如何将事件处理程序添加到动态创建的按钮,这些按钮将通过 AJAX 将请求发布到一些具有正确 id 作为值和值的 php 脚本文本区域。所以我使用了 anchor 标签,我能够发送 id,但是我不能发送 textarea 的值,因为我不知道如何引用它,即使我引用了它,它也将是 NULL,因为它的值在最开始设置为 anchor 标记,我想在文本区域中输入文本。

最佳答案

您实际上可以监听特定元素的父元素,而不是监听单个“元素”(您需要向 on() 提供另一个参数)。一个流行的模式是听“body”(因为从技术上讲,body 是所有元素的父元素),但是任何非动态父元素都可以工作!这是一个例子:

//notice the second parameter supplied
$("body").on("click", ".my-dynamic-element", function(e){
    //awesome code that makes the world a better place goes here
    //this code triggers when .my-dynamic-element is clicked, wootz
});

关于javascript - 如何将事件处理程序添加到 jQuery 中动态创建的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876105/

相关文章:

javascript - 加载前/加载后的 jQuery 动画顺序

javascript - Jquery 更改表 th 标签无法正常工作

JavaScript 匹配任何字母字符

javascript - javascript 转义字符串 : hex in json

php - PHP 中的 .xlsx 工作表中的日期未存储在数据库中

javascript - 消息未在内容和后台脚本文件之间传递

javascript - 如何在 JavaScript 中先执行一个 Promise,然后再执行下一个语句

javascript - 在悬停在另一个 div 上时更改主 div 的 src

php - MySQL 错误的错误页面

javascript - 从 html 表单调用带参数的 JavaScript 函数