我环顾了stackoverflow,但无法找到满足我需要的任何东西。所以这是我的问题:
我想在点击按钮时调用一个函数。为此,我做了
$( "#btn_id" ).click(function myFun() {
// whatever needs to be done
});
但问题是调用者按钮是全局的(可用于我的网站)以满足设计需求,但该功能只能在主页上执行。
有没有办法首先重定向到主页,如果已经存在,重新加载页面然后运行该功能。
我可以重新加载页面,然后调用此函数:Refresh page on button click and after that call an function。但是,此方法的问题是在所有刷新时自动调用函数,这是不需要的。只有按下该按钮才能触发它。
答案 0 :(得分:1)
$("#btn_id").on("click", function() { myFun(); }); // more up-to-date
您可以设置一个标志(POST / GET) - 检查它是否已设置(因此,无论您的网站是通过按键点击还是按正常 - 刷新
刷新的答案 1 :(得分:0)
如果要在按钮单击事件中调用该函数,那么为什么要在刷新时调用该函数。
或者调用下面的函数..
$( "#btn_id" ).click(function {
myFun();
});
答案 2 :(得分:0)
您可以查看您所在页面的网址。使用document.URL;
并检查您必须在主页上运行的功能的条件。像这样的东西
$( "#btn_id" ).click(function myFun() {
if(document.URL == "http://www.myhome.com/home")
{
document.location.reload();
}
else {
window.location = "http://www.myhome.com/home";
document.location.reload();
restartall();
}
});
答案 3 :(得分:0)
But the thing is the caller button is global(available though-out)
to my site for design needs however the function can be performed
only on the home page.
Is there any way to first redirect to home-page and if already
there, reload the page and then run the function.
如果您可以在不使用全局按钮id
的情况下选择元素并为其提供与其他页面不同的类,则为什么要重定向页面
<input type = "button" value = "fire me" class = "some_class" id = "btn_id">
然后使事件监听器像你所做的一样,但改变选择器就像
$( ".some_class" ).click(
function myFun() {
// whatever needs to be done
});
编辑:
这里的情况有所不同,因为它使用id
进行设计。
仅供参考。在设计多个页面时使用一个类。
答案 4 :(得分:0)
在刷新页面之后调用函数是不可能的,因为刷新页面之后可以重置队列,因此如果在另一个页面使用中,可以在主页加载中仅使用cookie或调用函数,找到它是什么样的页面
if(location.pathname!=="home.html")
{
window.location.href = 'home.html';
}