Javascript 重新加载jquery脚本

Javascript 重新加载jquery脚本,javascript,jquery,ajax,load,reload,Javascript,Jquery,Ajax,Load,Reload,我有个问题 我的页面中有一个脚本,可以执行一些操作,比如从表中删除一行,添加一行 在jqueryajax创建的表中 但是当我使用ajax添加新行时,这一行不起作用 所以有一个方法,我可以重新加载这个脚本每N秒 <script> .... some stuff .... setInterval(function() { #reload script or something like that },2000); </script> .... 一些东西。。

我有个问题

我的页面中有一个脚本,可以执行一些操作,比如从表中删除一行,添加一行 在jqueryajax创建的表中

但是当我使用ajax添加新行时,这一行不起作用

所以有一个方法,我可以重新加载这个脚本每N秒

 <script>
  .... some stuff ....
 setInterval(function() {
  #reload script or something like that
 },2000);
 </script>

.... 一些东西。。。。
setInterval(函数(){
#重新加载脚本或类似的东西
},2000);
例如,单击“打开邮件”上的此功能

HTML


1.
2.
3.
JS

$('.MessageList')。单击(函数(){
var id=this.id;
如果(openMessage)
{
if($('#read message').attr('message')==$('#'+id).attr('data'))
{
$(“#消息列表”).addClass('hide');
$(“#读取消息”).removeClass('hide');
}
其他的
{
var readMsg=true;
if($('#'+id).hasClass('not#view'))
{
readMsg=false;
jQuery.ajax({
类型:“POST”,
url:“/nvinbox/”,
数据:“b=“+$('#'+id).attr('view')+”&a=“,
是的,
async:false,
错误:函数(){
wAlert({title:,description:,redirect:'inbox/'});
},      
成功:功能(响应){
if(响应!=“不允许直接脚本访问”)
{
var arr=id.split(“”);
$('#message'+arr[1]).addClass('viewed').removeClass('not#viewed');
readMsg=true;
}
else wAlert({标题:,描述:});
}
});
}
如果(readMsg)
{
ajax({type:“POST”,url:“/upinbox/”,数据类型:“json”,
成功:功能(响应){
$(“#notifMessage”).remove();
$('#messageInbox')。追加(响应[0]);
如果(响应[1]!=0){}
}});
$(“#读取消息”).remove();
jQuery.ajax({
类型:“POST”,
url:“/vinbox/”,
数据:“c=“+id+”&b=“+$('#'+id).attr('data')+”&a=“,
是的,
async:false,
错误:函数(){
wAlert({title:,description:,redirect:'inbox/'});
},      
成功:功能(响应){
if(响应!=“不允许直接脚本访问”)
{
var arr=id.split(“”);
$('.email content')。追加(响应);
$(“#消息列表”).addClass(“隐藏”);
$(“#读取消息”).removeClass(“隐藏”);
}
else wAlert({标题:,描述:});
}
});
}
}
}
else-openMessage=true;
});
在表中添加新行时

  <table>
  <!-- new row HERE -> <tr class='MessageList' id='a_1456'><td>1456</td></tr>

  <tr class='MessageList' id='a_1'><td>1</td></tr>
  <tr class='MessageList' id='a_2'><td>2</td></tr>
  <tr class='MessageList' id='a_3'><td>3</td></tr>
  </table>


这听起来更像是你试图用错误的方式解决它。如果添加新行并显示相应的代码,则应该描述哪些不起作用。(例如,事件处理程序不适用于新元素)。这听起来很像您需要使用事件委派:使您能够将Hanndler绑定到不存在的元素。如果要帮助您,我们还需要更多信息,以及对问题的更好描述。
$('.MessageList')。单击(
仅将单击回调应用于执行代码时DOM中的元素。如m90所述,您应该查看事件委派,其方式如下:
$(document)。on('click'、'.MessageList'、
,这意味着每次单击文档时,检查单击的元素是否与选择器
.MessageList
        $('.MessageList').click(function(){
    var id=this.id;
    if(openMessage)
    {
        if($('#read-message').attr('message')==$('#'+id).attr('data'))
        {
            $('#message-list').addClass('hide');
            $('#read-message').removeClass('hide');
        }
        else
        {
        var readMsg=true;
        if($('#'+id).hasClass('not_viewed'))
        {
            readMsg=false;
            jQuery.ajax({
            type: "POST",
            url: "<?php echo AJAX_RE;?>/nvinbox/",
            data: "b=" + $('#'+id).attr('view') + "&a=<?php echo $_SESSION['registrar']['inbox'] ?>",
            cache: true,
            async: false,
            error: function(){
            wAlert({ title: "<?php echo $this->languages["PLEASE_TRY_LATER"] ?>",description: "<?php echo $this->languages["SOMETHING_WRONG"] ?>",redirect:'<?php echo USER_REGISTRAR_PAGE?>inbox/'});
            },      
            success: function (response) {
                if(response!='No direct script access allowed')
                {
                    var arr = id.split("_");
                    $('#message_'+arr[1]).addClass('viewed').removeClass('not_viewed');
                    readMsg=true;
                }
                else wAlert({ title: "<?php echo $this->languages["PLEASE_TRY_LATER"] ?>",description: "<?php echo $this->languages["SOMETHING_WRONG"] ?>"});
            }
            });
        }
        if(readMsg)
        {
            jQuery.ajax({type: "POST",url: "<?php echo AJAX_RE;?>/upinbox/",dataType : "json",
            success: function (response) {
            $('#notifMessage').remove();
            $('#messageInbox').append(response[0]);
            if(response[1]!=0){}
            }});

            $('#read-message').remove();
            jQuery.ajax({
            type: "POST",
            url: "<?php echo AJAX_RE;?>/vinbox/",
            data: "c="+id+"&b=" + $('#'+id).attr('data') + "&a=<?php echo $_SESSION['registrar']['inbox'] ?>",
            cache: true,
            async: false,
            error: function(){
            wAlert({ title: "<?php echo $this->languages["PLEASE_TRY_LATER"] ?>",description: "<?php echo $this->languages["SOMETHING_WRONG"] ?>",redirect:'<?php echo USER_REGISTRAR_PAGE?>inbox/'});
            },      
            success: function (response) {
                if(response!='No direct script access allowed')
                {
                    var arr = id.split("_");
                    $('.email-content').append(response);
                    $('#message-list').addClass("hide");
                    $('#read-message').removeClass("hide");
                }
                else wAlert({ title: "<?php echo $this->languages["PLEASE_TRY_LATER"] ?>",description: "<?php echo $this->languages["SOMETHING_WRONG"] ?>"});
            }
            });
        }
    }
    }
    else openMessage=true;
});
  <table>
  <!-- new row HERE -> <tr class='MessageList' id='a_1456'><td>1456</td></tr>

  <tr class='MessageList' id='a_1'><td>1</td></tr>
  <tr class='MessageList' id='a_2'><td>2</td></tr>
  <tr class='MessageList' id='a_3'><td>3</td></tr>
  </table>