【问题标题】:Button class pass through Ajax not working按钮类通过 Ajax 不起作用
【发布时间】:2021-02-19 08:29:21
【问题描述】:

我有一些问题。我正在使用 Laravel。我使用 Ajax 从控制器传递 html 字符串。示例:

 $html .= '<span class="book-wishlist-btn addwish" id="addwish'.$book->id.'" data-placement="left" title="'.$title.'" style="'.$style.'" book_id="'.$book->id.'">';
                $html .= '<i data-feather="heart">';
                $html .= '</i>';
                $html .= '</span>';

在我的刀片上,我有 2 个 Ajax,用于检索我从控制器传递的数据并运行类 addwish。 Span class id(addwish)会根据jquery的点击函数触发。

Ajax 检索 $html 字符串:

$.ajax({
                method:"POST",  
                dataType: "json",
                url: "{{url('books')}}",
                data: {html:html},
                success: function(data){
                    feather.replace();
                }
            });

Ajax 触发 addwish 类点击:

 $(".addwish").click(function(){

            $.ajax({  
                url : "{{url('addwishlist')}}",
                //my codes goes here..
            });
        });

我的问题是无法检测到 addwish 类。任何人都可以帮助给出一个想法?谢谢

【问题讨论】:

  • 你必须使用事件委托。 $(document).on("click", ".addwish", function(){
  • @CarstenLøvboAndersen Tq。它现在解决了我的问题。只需添加代表团。但是,为什么$(".addwish").click(function(){ 不能正常运行?
  • 因为新的 .addwish 元素不是 DOM 的一部分。当浏览器读取$(".addwish").click(function(){这一行时,只有当时具有addwish类的元素才会获得点击事件。
  • 请试试这个 $('body').on('click','.addwish',function(){ $.ajax({ // 你可以继续你的请求。}) } ) 如果这不起作用,请告诉我,我很乐意提供帮助

标签: jquery ajax laravel


【解决方案1】:

使用此代码代替您之前的点击代码:

$(".addwish").on("click", function() {
    $.ajax({  
        url : "{{url('addwishlist')}}",
        //my codes goes here..
    });
});

参考:Click not working after ajax content has loaded

【讨论】:

    猜你喜欢
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 2017-10-08
    • 2013-05-07
    相关资源
    最近更新 更多