2013-06-24 30 views
6

在調用java腳本的html網站中擁有圖形組件(更確切地說是twitter.bootstrap圖標)的方式是什麼?從html觸發javascript的正確方式

人們可以做一個按鈕,並把它的圖標,但這看起來不好看恕我直言。 或者人們可以使用href標記,

<a href="#" name="ad_fav" onclick= CALLFUNCTION> <i 
         class="icon"></i></a> 

但什麼是實現這一目標的最清晰的方式? 如果圖標在被點擊後可能會改變,那也不錯。

它是如何實現在stackoverflow中的upvote按鈕?與你的函數調用

<a href="javascript:alert('hello there! this works!')" name="ad_fav"> <i 
        class="icon"></i></a> 

更換警報(...)如果你需要

+0

事件觀察家 – epoch

+0

堆棧溢出來實現它與班「票上關」和「票上的」樣式在CSS(背景圖像)的錨元素在後來獲得由JavaScript添加功能。 –

+0

您可以通過右鍵單擊並選擇「檢查元素」(或您的瀏覽器的等效項)來查看SO按鈕的實現方式。 – nnnnnn

回答

4

另一種方式:

function myFunc() { 
// code here 
} 

var element = document.getElementsByClassName("icon"); 
element[0].addEventListener("click", myFunc); 
+2

+1;這**是最簡潔的方式,不用將js與html混合! –

+3

沒有'getElementByClassName()'方法。有一個'getElementsByClassName()'(注意「元素」中的複數「s」)。 – nnnnnn

+1

@nnnnnn,你是絕對正確:) – Stefan

1

只是使<的href一個>是 'JavaScript的:',例如有別與錨元素把它包:

<img src="[path to twitter.bootstrap icon]" onclick="yourJavaScriptFunction" /> 
0

爲什麼不使用jquery的函數?

$(document).on("click", "a.icon", function (e) { 
    e.preventDefault(); 
});