gpt4 book ai didi

javascript - $(document).ready() 中的函数未找到 DOM 的 body 元素

转载 作者:行者123 更新时间:2023-12-02 15:07:46 25 4
gpt4 key购买 nike

我正在编写一个 AngularJS Web 应用程序,并且有一个位于任何范围之外的函数,需要调用某个范围内的函数。我调用该函数并按照 this 中给出的说明进行操作回答。

function returnDest(callback) {
$(document).ready(angular.element(document.getElementById('body')).scope().getTask(function() {
if(callback) {
callback(locationInfo);
}
}));
}

它经常工作,但有时该功能无法成功运行。调试器给我:

Uncaught TypeError: Cannot read property 'getTask' of undefined

我不知道为什么当 $(document).ready 应该在 DOM 加载后才触发该函数时,该函数会在未定义的情况下被调用。如果我使用 $(window).load() 也会弹出相同的错误。我该如何确保该功能成功运行?

作为引用,这里是 HTML 文件中定义“body”元素的行

<body style="background-color:#e6e8f3" ng-app="app" ng-controller="controller" id="body">

最佳答案

$(document).ready 应该在您的函数之外:

$(document).ready(function returnDest(callback) {
angular.element(document.getElementById('body')).scope().getTask(function() {
if(callback) {
callback(locationInfo);
}
})});

关于javascript - $(document).ready() 中的函数未找到 DOM 的 body 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34998967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com