JavaScript 回调函数中“this”的轻微混淆

发布于 2024-08-30 17:56:07 字数 317 浏览 5 评论 0原文

$.ajax({url: path_to_file, cache: false, success: function(html_result){
    $("#window_" + this.id + "_cont_buffer").html(html_result);})

现在那么。该函数调用位于类的函数中。 this.id 是该类的一个属性。这会将 this.id 的函数值传递到匿名函数的字符串中,还是会在函数实际被调用时尝试对其进行求值,从而没有意义。

如果这不能按我想要的方式工作,您能否建议我如何实现这一目标。

$.ajax({url: path_to_file, cache: false, success: function(html_result){
    $("#window_" + this.id + "_cont_buffer").html(html_result);})

Now then. This function call is with in a function of a class. this.id is a property of said class. will this pass the function value of this.id into the string the anonymous function, or will it try to evaluate it when the function actually gets called, thus making no sense.

If this is not going to work how I want it to, can you recommend how I achieve this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱本泡沫多脆弱 2024-09-06 17:56:07

$.ajax() 的特定情况下,可以使用 context 属性指定 this。因此,Matthew 的解决方案为您提供了在调用 $.ajax 函数的函数中指定的 this

您可以参阅 jQuery 文档,了解有关设置 this 用于成功回调。

In the particular case of $.ajax(), this can be specified using the context attribute. So, Matthew's solution gives you the this that is specified in the function that you make the $.ajax function call from.

You can see the jQuery documentation for more information on setting the this for the success callback.

迷你仙 2024-09-06 17:56:07

默认情况下,this 将是一个内部 jQuery 对象。但是,您可以通过在调用中显式指定 context: this 来覆盖它。然后,this 将是您从中调用它的对象。

$.ajax({url: path_to_file, context: this, cache: false, success: function(html_result){
    $("#window_" + this.id + "_cont_buffer").html(html_result);})

会做你想做的事。

By default this will be an internal jQuery object. However, you can override that by explicitly specifying context: this as part of the call. Then, this will be the object you're calling it from.

$.ajax({url: path_to_file, context: this, cache: false, success: function(html_result){
    $("#window_" + this.id + "_cont_buffer").html(html_result);})

will do what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文