gpt4 book ai didi

javascript - 在 jQuery 函数中调用一个函数

转载 作者:行者123 更新时间:2023-11-29 21:07:58 25 4
gpt4 key购买 nike

我想在 JQuery 方法中执行一个外部函数。当我尝试调用该方法时出现问题,该方法看起来未定义。我该如何解决这个问题?我在 Angular 2 中使用 Typescript

ngAfterViewInit() {

jQuery(".mo-table").scroll(function () {
var trueDiveHeight = jQuery(".mo-table")[0].scrollHeight;
var divHeight = jQuery(".mo-table").height();
var scrollLeft = trueDiveHeight - divHeight;

if (jQuery(".mo-table").scrollTop() >= scrollLeft - 150) {

this.onSearch();

console.log("new bottom")
}
});
}

onSearch 方法是一个外部函数,并且是未定义的。

onSearch(): void {      
this.updateTableReport(this.scrollId, this.buildParams())
}

如有任何帮助,我们将不胜感激。

最佳答案

改变

jQuery(".mo-table").scroll(function () {

jQuery(".mo-table").scroll( ()=> {

你的 this 没有引用你的组件

或者旧的 js 方式:

ngAfterViewInit() {

var self = this; //<-- assign this to self here
jQuery(".mo-table").scroll(function () {
var trueDiveHeight = jQuery(".mo-table")[0].scrollHeight;
var divHeight = jQuery(".mo-table").height();
var scrollLeft = trueDiveHeight - divHeight;

if (jQuery(".mo-table").scrollTop() >= scrollLeft - 150) {

self.onSearch(); //<-- use self here

console.log("new bottom")
}
});
}

关于javascript - 在 jQuery 函数中调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43063313/

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