.load() 之后不会执行工作代码,但会执行其他代码?

时间:2021-01-11 18:43:56

标签: javascript jquery ajax

有人能帮我理解为什么这行不通吗?我的按钮在 .load() 后不起作用。

对于上下文,我的 HTML 只是一个带有滚动条和两个按钮的 div (#box),一个用于刷新 (#load),一个用于滚动机器人 (#scroll)

$(document).ready(function() {
      Ref();
    });

function Ref() {
      $('#load').click(function() {
        $('#box').load('test.php #box', function(r, status){
          if(status == "success"){
            $('#scroll').click(function() {
              $('#box').scrollTop($('#box')[0].scrollHeight);
            });
          }
          else{
            console.log("Error");
          }
        });
      });
    }

标签是正确的,我的 .load() 函数可以工作,但之后的代码就停止工作了。

但是,这确实有效:

function Ref() {
      $('#load').click(function() {
        $('#box').load('test.php #box', function(r, status){
          if(status == "success"){
            console.log("Success");
          }
          else{
            console.log("Error");
          }
        });
      });
    }

.load() 上,日志中收到一条成功消息,向我暗示它确实加载成功,但是一旦我输入自己的滚动代码,它就不起作用,我不要收到任何错误。

我尝试使用 console.log() 调试它,但我没有收到任何有用的信息,而且我还是 jQuery 的新手,所以我不明白我的原始代码发生了什么,因为它在外面正常运行.load() 和文档告诉我这应该像回调函数一样工作。

0 个答案:

没有答案