簡體   English   中英

如果在其上定義了rel屬性,則href onclick事件不起作用

[英]a href onclick event is not working if there a rel attribute defined on it

我有一個href事件的onclick事件,但是如果定義一個rel函數不會被調用

<a href="http://somewebsite" 
   onclick="javascript:someFunction('somevalue');" 
   name="top" 
   rel="somevalue">testing </a>

如果我刪除rel屬性,則onclick可以正常工作。

那是怎么回事?

我不確定這是否是答案,但實際上更多是調試診斷。 另外,它在評論部分的使用時間已經很長了。

  1. Chrome 7或FF 3.6.8中沒有針對我的JS錯誤

  2. 錨標記中沒有明顯的未封閉引號

  3. 盡管rel標簽不受任何現代瀏覽器的直接支持(而是由搜索蜘蛛使用),但共識是,它不應影響事件。 實際上,根據某些用戶評論(例如@James Kovaks),它在他的測試中效果很好。

  4. 在Chrome JS控制台中,trackForGA函數可見,並且可執行且無錯誤。

  5. 使用jQuery附加事件,然后單擊,將按預期觸發事件。 這告訴我們單擊事件實際上是由瀏覽器觸發的。

碼:

  $('#countrytabs li:first').click(trackForGA); // click overview tab 

建議的后續步驟:

  • 嘗試其他事件類型,以查看它們是否也受到影響-例如onmouseover。
  • 開始刪除與該特定事件無關的JavaScript。 具體來說,您要保留的唯一JS是trackForGa函數和onclick JS。 甚至刪除外部加載的JS,例如jQuery(您大概可以在本地測試/開發盒中執行此操作)
  • 如果問題仍然存在,請刪除trackForGa,而只是從onclick事件中執行alert()。
  • 如果問題仍然存在,請通過HTML驗證程序( http://validator.w3.org/ )運行您的網站。
  • 如果在解決驗證問題后問題仍然存在,請開始刪除不相關的HTML標簽和內容。 系統地刪除項目,直到按預期發出喀噠聲為止,以確定潛在的罪魁禍首。

另外,您無需在onclick中指定“ javascript: ”。 唯一可以遵循的 JavaScript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM