2010-12-01 15 views
1

私はhrefのonclickイベントを持っていますが、関数を呼び出す関数が呼び出されていない場合はrel属性が定義されている場合、href onclickイベントは機能していません

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

relプロパティを削除すると、onclickは正常に動作しています。

どうしたの?

+0

これを1行にまとめるとどうなりますか? – Breezer

+2

私はエラーを再現できません:http://jsfiddle.net/94pCe/。おそらくそれは何か他のものです... –

+0

@breezerそれは一行にありました - 私たちの利益のために編集しました –

答えて

1

私はこれが本当に答えだとは思えませんが、本当にデバッグ診断のほうがはるかです。加えて、コメントセクションで使用するのにもう少し時間がかかっていました。

  1. 私にとって何のJSエラーがRELタグは、直接ではありませんがアンカータグ

  2. には明白な閉じられていない引用符がありませんクローム7またはFF 3.6.8

  3. のいずれかではありません現代のブラウザーでサポートされていますが(むしろ検索スパイダーで使用されています)、コンセンサスはイベントに影響してはならないということです。実際、@James Kovaksのようなユーザーのコメントごとに、それはhis testsでうまく動作します。

  4. Chrome JSコンソールからは、機能trackForGAが表示され、エラーなしで実行可能です。

  5. jQueryでイベントを添付してクリックすると、期待どおりにイベントが発生します。これは、実際にはブラウザによってクリックイベントが発生していることを示しています。

コード:

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

推奨次のステップ: - などのonmouseoverなど

  • は、彼らが同様に影響を受けているかどうかを確認するために、他のイベントタイプを試してみてください。
  • この特定のイベントに関連しないJavaScriptを削除します。具体的には、trackForGa関数とonclick JSだけを残しておきたいJSです。
  • 問題が解決しない場合は、trackForGaを削除して、代わりにonclickイベントからalert()を実行してください。jQueryのような外部にロードされたJSも削除してください。
  • HTMLバリデーター(http://validator.w3.org/
  • 検証の問題を修正しても問題が解決しない場合は、無関係なHTMLタグとコンテンツの削除を開始してください。潜在的な原因を特定するために、クリックが期待どおりに発砲するまで、項目を体系的に削除します。
0

また、onclickに「javascript:」と指定する必要はありません。 に続くことができるのは JavaScriptです。

+1

このコンテキストでは、その式はhttps://developer.mozilla.org/en/JavaScript/Reference/Statements/labelというラベルであり、文脈では役に立たない。 (しかし、この答えはコメントでなければなりません)。 – Quentin

+0

@david、jsfiddleであっても、警告を関数呼び出しに変更すると失敗します – kobe

+0

@gov - その文は、応答と思われるものとは関係がないようです。 – Quentin

関連する問題