Javascript - order of OnClick

Javascript - order of OnClick

本文关键字:OnClick of order Javascript      更新时间:2023-09-26

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

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中的服务器端页面加载事件。为什么会这样?

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

你是否试图让你的网站:重新加载,然后更改颜色,然后打开另一个页面?我不认为使用上面的方法你能做到这一点。一旦页面重新加载,它就失去了重新加载之前的所有状态信息。所以在重新加载之后,页面不会知道tc按钮被点击了。

使用url参数导航到当前页面可能会更好

location.href = location.href + "?button=tc";

然后在onload事件中,检查该值是否在URL中,然后更改背景色并打开第二个页面。大致如下:

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