当htmllink中的锚标签(#)被访问或重新加载时调用javascript函数
Call javascript function when anchor tag(#) in html link is accessed or reloaded
我有一个创建 html 页面的功能
function createVisuUsuario() {
var content = document.createElement("div");
content.className = "content";
content.id = "content-add";
content.innerHTML = '<h1>Visualizar Usuário</h1>'+
'<form>'+
'<br>'+
'<div id="res-visu"></div>'+
'</form>';
document.body.appendChild(content);
}
调用上述函数的另一个函数,它使用 ajax 连接到 php 并从数据库中获取信息
function visuUser() {
limpaTela();
createVisuUsuario();
var res_visu = $("#res-visu");
$.ajax ({
url: "php/cadastro.php",
type: "POST",
data: {"chave":"visu-teste"},
success: function(res) {
var str = res.substring(1,0);
res = res.substring(1);
if(str == 0) {
res_visu.html(res);
res_visu.css("text-align","center");
tabelaFiltro();
}
else if(str == 1) {
res_visu.html(res);
res_visu.css("color","red");
}
},
error: function() {
console.log("erro");
}
});
});
我有一个按钮,单击它时会调用此函数,并在 html link 上放置一个锚标记:
按钮:
<a id="visu-user" class="menu-link">Visualizar Usuário</a>
link
localhost/teste.php#visu-user
当我访问这个 link "localhost/teste.php#visu-user" 或重新加载它时,是否有可能调用我的函数 visuUser() 并创建页等
可以通过js获取hash值,判断是否对应正确的字符串,如下:
if(location.hash == '#visu-user'){
visuUser();
}
你可以先做一个 onload 函数,这就是 Abbas 所说的:
function check_hash() {
if(location.hash == '#visu-user') visuUser();
}
$(check_hash);
您可能希望将相同的函数绑定到 hashchanged 事件:
$(window).bind('hashchange', check_hash);
也许您也想以这种方式加载其他页面。
实际上,您可以简单地将按钮更改为:
<a href="#visu-user" class="menu-link">Visualizar Usuário</a>
那么您的按钮就不需要处理程序了:hashchanged 事件会为您完成!
我有一个创建 html 页面的功能
function createVisuUsuario() {
var content = document.createElement("div");
content.className = "content";
content.id = "content-add";
content.innerHTML = '<h1>Visualizar Usuário</h1>'+
'<form>'+
'<br>'+
'<div id="res-visu"></div>'+
'</form>';
document.body.appendChild(content);
}
调用上述函数的另一个函数,它使用 ajax 连接到 php 并从数据库中获取信息
function visuUser() {
limpaTela();
createVisuUsuario();
var res_visu = $("#res-visu");
$.ajax ({
url: "php/cadastro.php",
type: "POST",
data: {"chave":"visu-teste"},
success: function(res) {
var str = res.substring(1,0);
res = res.substring(1);
if(str == 0) {
res_visu.html(res);
res_visu.css("text-align","center");
tabelaFiltro();
}
else if(str == 1) {
res_visu.html(res);
res_visu.css("color","red");
}
},
error: function() {
console.log("erro");
}
});
});
我有一个按钮,单击它时会调用此函数,并在 html link 上放置一个锚标记: 按钮:
<a id="visu-user" class="menu-link">Visualizar Usuário</a>
link
localhost/teste.php#visu-user
当我访问这个 link "localhost/teste.php#visu-user" 或重新加载它时,是否有可能调用我的函数 visuUser() 并创建页等
可以通过js获取hash值,判断是否对应正确的字符串,如下:
if(location.hash == '#visu-user'){
visuUser();
}
你可以先做一个 onload 函数,这就是 Abbas 所说的:
function check_hash() {
if(location.hash == '#visu-user') visuUser();
}
$(check_hash);
您可能希望将相同的函数绑定到 hashchanged 事件:
$(window).bind('hashchange', check_hash);
也许您也想以这种方式加载其他页面。 实际上,您可以简单地将按钮更改为:
<a href="#visu-user" class="menu-link">Visualizar Usuário</a>
那么您的按钮就不需要处理程序了:hashchanged 事件会为您完成!