Javascript - OnClick的顺序

时间:2014-09-26 11:20:42

标签: javascript vb.net

请参阅下面的代码,该代码在服务器端生成:

tc.Attributes.Add("onclick", "location.reload(); this.style.backgroundColor='olivedrab'; open('PrimaryNominalAjax.aspx?USN=" & CStr(objDR("USN")) & "&Requester=" & strUserName & "&Status=" & CStr(intReviewStatus) & "&Reason=-1&Review=" & lngReview & "','_blank','')")

当用户单击客户端上的链接时,代码在刷新当前网页之前到达:PrimaryNominalAjax.aspx中的服务器端页面加载事件。这是为什么?

1 个答案:

答案 0 :(得分:0)

location.reload()不会阻止其他javascript的执行。因此,如果需要5秒钟重新加载页面,动画等可以继续。

您是否尝试将您的网站设置为:重新加载,然后更改颜色,然后打开另一个页面?我不认为你能用你上面的方法完成这个任务。一旦页面重新加载,它就会在重新加载之前丢失所有状态知识。所以重新加载后,页面不会知道点击了tc按钮。

您最好使用网址参数

导航到当前页面
location.href = location.href + "?button=tc";

然后在onload事件中,检查该值是否在URL中,然后更改背景颜色并打开第二页。有点像:

if(location.search === "button=tc")
{
    // change color 
    // open page
}