繁体   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