如果用户当前在该页面上,我正在尝试禁用按钮,我知道有更有效的方法,但我正在练习我的if,elses。
问题是我仍然可以点击链接,如果我点击它们并且我在同一页面上,它们都会刷新页面。我的代码:
$("#homepage").on("click", function(event) {
if (window.location.href === 'index.html') {
$(this).attr('disabled', "disabled");
$(this).attr('disabled', true);
event.preventDefault();
}else {
window.location.href = 'index.html';
};
});
$("#aboutUs").on("click", function(event) {
if (window.location.href === 'aboutus.html') {
$(this).attr('disabled', "disabled");
$(this).attr('disabled', true);
event.preventDefault();
}else {
window.location.href = 'aboutus.html';
};
});
答案 0 :(得分:0)
验证window.location.href的值是什么,如
if (window.location.href === 'dummyrul/index.html') {
$(this).attr('disabled', "disabled");
$(this).attr('disabled', true);
event.preventDefault();
}
如果条件如下,则将此值放入:
ArrayList<Trails> finalData = getTrails();
Adapter adapter = new Adapter(this, finalData);
rvItem.setAdapter(adapter)
答案 1 :(得分:0)
实际上window.location.href
会为您提供完整的网址,例如: -
https://www.example.com/index.html
http://www.example.com/index.html
等
这就是为什么你的if
条件似乎永远不会成真。
使用indexOf()
,如下所示: -
$("#homepage").on("click", function(event) {
if (window.location.href.indexOf('index.html') >-1) {
$(this).prop('disabled', true); // recomended to use `prop`
event.preventDefault();
}
else {
window.location.href = 'index.html';
}
});
$("#aboutUs").on("click", function(event) {
if (window.location.href.indexOf('aboutus.html')>-1) {
$(this).prop('disabled', true);// recomended to use `prop`
event.preventDefault();
}
else {
window.location.href = 'aboutus.html';
}
});
参考: -
如果您只想禁用两个特定网址上的按钮,请使用if
提供的console.log(window.location.href);
条件中的完整路径。