2016-09-13 19 views
1

hrefにハッシュタグIDがある場合、hrefのjavacsript関数を呼び出したいと思っています。私はブートストラップタブを使用しているので#javascriptを使用できません:show_create_msg();hrefにハッシュタグIDがある場合にjavascript関数を呼び出す方法

<a href="#" onclick="show_create_msg();">Table</a> 

<script> 
function show_create_msg() 
{ 
    // Do something; 
} 
</script> 
+0

あなたはリンクにいくつかの 'id'または'クラスNAME'を追加し、同じに 'click'イベントをバインドすることができますか? –

+0

最近、 'href =" javascript: "'も悪用されています。標準の 'onclick =" function() "'を使用してください。コード内で直接 'addEventListener'を実行してください。 – yuriy636

+0

onclickは動作していません – Ninad

答えて

0

は、このリンクにonclickイベントを追加して、何かをするJavaScript関数を記述し、私のコードです。

は、私が(「onclickの」要素は良い習慣ではありませんインライン化を使用して)、より適切な方法でそれを行う方法を

をお見せしますここでの例です:

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 
}); 

は、それが少し

+0

#hrefで#を使用することはできません。#tableにする必要があります。 – Ninad

+0

ページの先頭に移動するため、@codelockが書いたようなjQueryイベントを使用する必要があります。そして、それを防ぐために 'e.preventDefault();'が必要です。 –

0

あなたの要素のidを与え、そしてそれにクリックイベントを添付することができます:ここ は

<a href="#table:show_create_msg();">Table</a> 
function show_create_msg() 
{ 
    alert("error"); 
} 
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> 

あなたは、あなたのhtmlソースを変更したい要素のhref属性から名前functoin取得し、それを設定しない場合包み、あなたはハッシュ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> 
+0

もしあなたが '返却 'すれば'何かをすることはできません '。 – yuriy636

+0

@ yuriy636更新ありがとうございました – Sathish

0

を見つける必要がありますそれの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>

関連する問題