Javascript 重新加载jquery脚本
我有个问题 我的页面中有一个脚本,可以执行一些操作,比如从表中删除一行,添加一行 在jqueryajax创建的表中 但是当我使用ajax添加新行时,这一行不起作用 所以有一个方法,我可以重新加载这个脚本每N秒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> .... 一些东西。。
<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>