如果href具有hash标记id,我想在href上调用javacsript函数。我需要#table,因为我使用的是bootstrap标签,所以不能使用javasript:show_create_msg(); 这是我的代码
<a href="#table:show_create_msg();">Table</a>
function show_create_msg()
{
alert("error");
}
答案 0 :(得分:2)
添加
onclick
事件和prevent
点击事件,当您点击该链接时,它不会加载该页面。
<a href="#table" onclick="show_create_msg();">Table</a>
<script>
function show_create_msg()
{
alert('is working');
// Do something;
return false;
}
</script>
你需要找到哈希
http://example.com#table
<script>
function show_create_msg()
{
alert('is working');
// Do something;
return false;
}
var hash = window.location.hash;
if(hash == '#table'){
show_create_msg();
}
<script>
答案 1 :(得分:0)
将onclick
事件添加到此链接,然后编写执行某项操作的JavaScript函数:
<a href="#" onclick="show_create_msg();">Table</a>
<script>
function show_create_msg()
{
// Do something;
}
</script>
答案 2 :(得分:0)
您可以为元素指定一个ID,并附加一个click事件。
我会告诉你如何以更恰当的方式做到这一点(使用&#34; onclick&#34;内联元素不是一个好习惯)
以下是一个例子:
<强> HTML 强>
<a id="myLink" href="#table">Table</a>
<强>的jQuery 强>
$('#myLink').on('click',function(){
show_create_msg();
});
甚至更好:
$('#myLink').on('click',function(){
// your show_create_msg code here
});
如果要阻止默认链接行为:
$('#myLink').on('click',function(e){
e.preventDefault();
// your show_create_msg code here
});
如果您只想在特定的哈希值上触发代码:
$('#myLink').on('click',function(e){
var hash = window.location.hash;
if(hash=='#table'){
// your show_create_msg code here
}
});
如果您不想使用jQuery,可以使用原生的javascript代码:
document.getElementById('myLink').addEventListener('click',function(e){
// your show_create_msg code here
});
希望它有所帮助
答案 3 :(得分:0)
如果您不想更改html源代码,请从元素的href
属性中获取functoin名称,并将其设置为onclick
属性。
var fn = $("a").attr("href").replace("#table:", "");
$("a").attr("onclick", fn)
function show_create_msg(){
console.log("function called");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#table:show_create_msg();">Table</a>