javascript - 如何在jquery上的set Interval函数中添加 '' this''

标签 javascript jquery ajax setinterval

我有一个像这样的 setInterval 函数。仅在第一个窗口上显示结果。如何在 setIntervel 中包含“this”函数。帮助我解决我的问题。

$(document).ready(function(){
    $("a").click(function(){
    var user ='<div><b id="mainbox" name="mainbox"><form id="fm"><p id="chat-msgs"></p><input type="text" id="text" placeholder="Type msghere..."></form></b></div>'
   $("#demo1").append(user);
    });
});

$(document).on('click', '#mainbox',  function(){
 $.ajaxSetup({cache:false});
	setInterval(function(){
		$('#chat-msgs').load('real-auto.php');//its  appear only on first window .
		}, 900);
});
<a>ram</a>
<a>ravi</a>
<a>ragul</a>
<p id='demo1'></p>

最佳答案

你可以这样写

$(document).on('click', '#mainbox',  function(){
    var that = this; // store the current #mainbox
    $.ajaxSetup({cache:false});
    setInterval(function(){
        $(that).find('#chat-msgs').load('real-auto.php');//its  appear only on first window .
    }, 900);
});

但是,这里您要重复添加一些带有 id 的元素,并且一个网页中不能有多个具有相同 id 的元素。 因此,将所有 id 替换为 class

html

<a href="#">ram</a>
<a href="#">ravi</a>
<a href="#">ragul</a>
<p id='demo1'></p>

js

$(document).ready(function(){
    $("a").click(function(){
        var user ='<div><b class="mainbox" name="mainbox"><form class="fm"><p class="chat-msgs"></p><input type="text" class="text" placeholder="Type msghere..."></form></b></div>';
        $("#demo1").append(user);
    });
});

$(document).on('click', '.mainbox',  function(){
    var that = this; // store current .mainbox
    $.ajaxSetup({cache:false});
    setInterval(function(){
        $(that).find('.chat-msgs').load('real-auto.php');//its  appear only on first window .
    }, 900);
});

关于javascript - 如何在jquery上的set Interval函数中添加 '' this'',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791805/

相关文章:

javascript - 谷歌地图不显示输入的位置

javascript - jQuery 无法正确打开 2 个连续的模式对话框

jquery - jQuery 中 CSS 类更改的触发事件

database - Wordpress 插件通过 AJAX 调用数据库结果

javascript - 使用 facebook 图形 API 在 facebook 上通过 URL 发布视频?

javascript - 如何查找文档事件

javascript - 将方括号拆分为逗号,删除第一个和最后一个逗号

c# - 在 ASP.NET Web 窗体中,如何使用 "get"请求调用页面方法

javascript - 为什么这个 dojo.mvc.Repeat 不能在模板化小部件中工作?

javascript - 使用 XMLhttprequest 从函数返回值