onclick:改变位置后做一些事情

时间:2015-04-05 15:53:45

标签: javascript jquery html css onclick

假设我想要执行以下操作:点击' div'时,请更改为其他位置(就好像它是......)然后执行某些操作。我试过这段代码:

<div onclick="location.reload();location.href='...';togglebox('#ident')">Title</div>

其中ident是新位置href='...'中对象的标识符,togglebox是脚本中定义的函数。但似乎浏览器在更改位置之前尝试完成togglebox('#ident'),因此输出不是预期的输出。例如,如果我尝试

<div onclick="location.reload();location.href='...';console.log(5)">Title</div>

然后在更改位置之前即时显示5,而我希望浏览器首先更改位置,然后显示5

此撤销订单解决方案是否有任何解决方案?

欢迎任何建议

1 个答案:

答案 0 :(得分:2)

一种方法是使用查询字符串来告诉目标页面要做什么。但是,如果你想要的hack几乎完全符合你的要求,你可以这样做:

(这是您当前页面的点击事件处理程序)

window.location.href = '...'; // Go to another page in your site
localStorage.setItem('exec',"yourCodeInQuotes()");

现在,目标网页应该准备好处理您在ident中提到的localStorage,或者直接评估代码。无论哪种方式,您都需要目标页面来预测即将到来的数据。

(这在目的地页面中)

var message = localStorage.getItem('exec'); // Will get whatever you stored
eval(message); // Will attempt to run it as JavaScript
$('#'+message); // Or find it if it was your ident and do stuff...