首页 > 解决方案 > 如何使数据模式在 setTimeout 函数 JS 中工作

问题描述

我遇到了一个问题,我需要setTimeout在另一个(更大的)函数中使用,但是如果把它放在里面,这个波纹管将不起作用:

$('#'+$(this).data('modal')).show();

如何使它在setTimeout这样的函数中工作:

setTimeout(function(){
  $('#'+$(this).data('modal')).show(); });

有任何想法吗?

// 我只需要 setTimeout,没有其​​他选项,如 .delay() 等。

// 如果没有 setTimeout,它可以完美地与:

$('.modal-trigger').on('click', function(){

data-modal="modal-identificator"内部button元素。

标签: javascriptjquery

解决方案


可能,您的回调不知道this. 尝试这样做:

setTimeout(function(){
  $('#'+$(this).data('modal')).show();
}.bind(this), 5000);

推荐阅读