Jshint: JSHintは「javascript:void(0);」をマークします JSURLとして

作成日 2014年06月23日  ·  8コメント  ·  ソース: jshint/jshint

要素のhrefを( #ではなく) javascript:void(0);に割り当てると、次のようになります。

$('#foobar').attr("href", "javascript:void(0);");

JSHintはjavascript:void(0);コンストラクトをスクリプトURLとして取得します。

PS C:\Users\hal9000\Development\strugee.github.com> grunt lint
Running "jshint:all" (jshint) task

   js\main.js
     30 |    $('#lightbulb-icon').attr("href", "javascript:void(0);");
                                                                    ^ Script URL.

>> 1 error in 4 files

実際には何もしておらず、意味的に有効な場合。 これらのタイプのスクリプトURLには例外があります。

最も参考になるコメント

警告を無効にするには、ファイルの先頭に次の行を配置するだけです。

/*jshint scripturl:true*/

ただし、最良の方法は、hrefに「#」を使用し、すべてのjavascriptイベントに対して「false」を返すことです。

<a href="#" onclick="doSomething();return false;">my link</a>

全てのコメント8件

気にしないでください

おそらくこれは特別な警告である必要がありますか? これに戸惑ったのは私だけではありません。

あなたではない。

警告を無効にするには、ファイルの先頭に次の行を配置するだけです。

/*jshint scripturl:true*/

ただし、最良の方法は、hrefに「#」を使用し、すべてのjavascriptイベントに対して「false」を返すことです。

<a href="#" onclick="doSomething();return false;">my link</a>

いいえ、最善の方法は、JavaScriptをマークアップや属性から除外することです:P

@rwaldron :修正、確かに

$('#foobar').attr("href", "#").click(function() {
  // do it
});

jslintを渡します:
$('#foobar').attr('href','javascript'+String.fromCharCode(58)+'void(0);');

@MikeGodinは別のバグのように見えます。

@kcampionが#を入れてfalseを返すことは、必ずしもdesirebaleではありません
私の場合、ハッシュを表示したくありません

このページは役に立ちましたか?
0 / 5 - 0 評価