使用ajax调用点击页面时触发事件

时间:2018-09-05 15:14:23

标签: jquery ajax onclick settimeout jwplayer

我正在尝试基于JWPlayer的开源“ Showcase”解决方案在具有一些ajax调用的页面上实现点击跟踪。

该页面基本上是视频列表,单击观看视频时,底部的视频建议会更改。

我有可以正常工作的jquery选择器,但是当内容更改时,clicktracking不再起作用。 我最初的想法是定义一个函数。第一次立即调用它,然后在单击当前元素上触发它+延迟...。但是最后一个不起作用。...

有什么想法吗?

var tc_r_clc = function() {

            // BLOC TEXT    
                $(".jw-card-title").on("click", function () {
                    var v = $(this).closest(".jw-card-title").text();
                    var y = $(this).closest(".jw-card-title").attr('href');
                    alert(v + "---" + y);
                });

};


// FIRST TIME
        tc_r_clc();

// REFRESH ON CLICKS
        $(".jw-card-controls, .jw-card-description, .jw-card-title, .jw-button-link").on("click", function () {
            window.setTimeout(tc_r_clc, 500);
        });

1 个答案:

答案 0 :(得分:0)

您是否尝试过事件委托? 来自jQuery文档:

  

委派的事件处理程序的优点在于,它们可以处理来自后代元素的事件,这些事件在以后的时间添加到文档中。通过选择保证在附加委托事件处理程序时会出现的元素,您可以使用委托事件来避免频繁附加和删除事件处理程序的需要。

基本上更改您选择器的附加事件的位置,例如:

$(document).on("click", ".jw-card-title",  function () {
    // your code...    
})