我有一个简单的播放计数器,用于网页上的音频文件。它适用于最初加载的音频文件,但不适用于另一个jQuery ajax将其更新为具有相同类的其他文件等(该文件播放)

        jQuery(document).ready(function($) {

            /*now events will only be bound to this instance*/
            $('body .sermonmp3').on('playing',function(){
                /* within event callbacks keep searches within the main container element*/
                var fileID=$(this).attr('id');
                console.log(fileID);
                var data = {file_id: fileID ,security:ChurchAdminAjax.security};

                jQuery.post(ChurchAdminAjax.ajaxurl, { 'action': 'ca_mp3_action','data':   data },
                    function(response){
                        console.log(response);
                        $('body .plays').html(response);

                    }
                );

            });

});

请问我做错了什么?

最佳答案

通过将代码放入函数中并在每次创建新的音频元素时调用它来解决此问题。

        function bindEvents(){

            $('body .sermonmp3').on('playing',function(){

                var fileID=$(this).attr('id');
                console.log(fileID);
                var data = {file_id: fileID ,security:ChurchAdminAjax.security};

                jQuery.post(ChurchAdminAjax.ajaxurl, { 'action': 'ca_mp3_action','data':   data },
                    function(response){
                        console.log(response);
                        $('body .plays').html(response);

                    }
                );

            });
        }

09-26 22:16