2014-02-27 19 views

回答

8

所有HTML元素都可以具有onclick屬性。

請參閱the HTML 5 specification以進行確認。 (當然,默認情況下,某些元素不會被渲染,因此您必須在CSS被點擊以觸發事件處理程序之前用CSS來更改它們的屬性display)。

+0

包括一個onClick在HTML或標題標籤是荒謬的,但我可以做到這一點? –

+0

是的,你可以做到這一點,但不建議,因爲它是突出的。 – TylerH

+0

這並非荒謬。 html元素被渲染,所以你可以綁定一個事件處理程序來觸發,如果文檔的任何部分被點擊(如果你想生成你的頁面的熱圖非常有用,儘管我傾向於直接綁定在'窗口'對象我自己)。使標題可點擊是很奇怪的,但是'head,title {display:block; }'在樣式表中將會使它成爲可能。 – Quentin

-3

您可以檢查哪些元素的情況下可以在此sitepoint reference

元素的完整列表可用於在不支持這將是:

  • 小程序
  • 基地
  • basefont
  • bdo
  • br
  • 字體
  • 框架
  • 框架
  • HTML
  • IFRAME
  • ISINDEX
  • PARAM
  • 腳本
  • 風格
  • 標題
+5

這已過時。 http://www.w3.org/TR/html5/index.html#attributes-1 – Quentin

+2

@Quentin至少sitepoint鏈接提到onclick完全支持IE5.5 ... – admdrew

+0

http://validator.w3 。組織/檢查?URI = HTTP%3A%2F%2Fjsbin.com%2Fcojuseja%2F2&字符集=%28detect +自動%29&DOCTYPE =內嵌&SS = 1&組= 0&用戶代理= W3C_Validator%2F1.3 + HTTP%3A%2F%2Fvalidator。 w3.org%2Fservices – Quentin

-1

任何元素都可以通過ID或類具有onclick事件。 使用jQuery,這是很容易的:

// Talk to any element with a unique ID of "myElementId". 
$('#myElementId').on('click', function(event){ 
    alert('CLICK'); 
    // do something else. 
    event.preventDefault(); 
}); 

// Talk to any element with a class of "myClassElement". 
$('.myClassElement').on('click', function(event){ 
    alert('CLICK'); 
    // do something else. 
    event.preventDefault(); 
} 

// Talk to the <header> element. 
$('header').on('click', function(event) { 
    alert('CLICK'); 
    // do something else. 
    event.preventDefault(); 
)}; 
+3

我認爲,他談論的HTML標籤,不是元素類或ID的 – pes502

+1

@ pes502,是你是對的 –

+2

我會強烈建議通過儘可能添加「點擊」屬性,你的HTML您的HTML內不會混合的JS。 鏈接到一個外部JS文件 - 掛鉤到您的標記是把自己的理想方法。以上是你如何做到這一點。 – Damon

相關問題