代码之家  ›  专栏  ›  技术社区  ›  aBlaze

.load[duplicate]之后未触发Javascript/JQuery函数

  •  -3
  • aBlaze  · 技术社区  · 6 年前

    当用户单击我的ASP.NET应用程序中的“搜索”按钮时,将加载一个临时的“微调器”div。然后当搜索(最终)完成时,微调器div的内容将被 SubmitSearch 方法。

    $("#spinner").load("@Url.Action("SubmitSearch","Search")");
    

    我还有一个JavaScript文件,加载在:

    $(document).ready(function() {
        $(".card--result").hover(function () {
            alert("hover");
            $(this).css('cursor', 'pointer');
        });
    
        $(".card--result").click(function() {
            var url = $(this).attr('data-url');
            window.open(url, "_self");
        });
    });
    

    card--result 类是在 .load 方法成功。

    .hover .click 函数,以便它们实际上是在新加载的HTML元素上触发的?

    1 回复  |  直到 6 年前
        1
  •  0
  •   void    6 年前

    你需要 event delegation 为了这个。

    父元素,它将为与 未来。

    $(document).on("click", ".card--result", function() {
       var url = $(this).attr('data-url');
       window.open(url, "_self");
    });
    

    至于光标部分,我想CSS已经足够了

    .card--result {
       cursor: pointer;
    }