1. 程式人生 > >jquery中ajax回撥函式使用this

jquery中ajax回撥函式使用this

今天在寫ajax請求的時候success中程式碼老是不能正常執行,找了半天原因。程式碼如下

 $.ajax({type: 'GET',
             url: "/flag/",
             data: dat,
             success:function(){
                 $(this).prevAll('p').css("text-decoration","line-through");
             }
      });

最後發現是ajax中的回撥函式(success等)直接用this不靈,解決辦法是使用bind(this)

繫結this到當前事件。

 $.ajax({type: 'GET',
         url: "/flag/",
         data: dat,
         success:function(){
             $(this).prevAll('p').css("text-decoration","line-through");
         }.bind(this)
         });