2

属性で使用するかどうかに関して、同様の一般的な質問があります。#javascript:void(0)href

Dartコミュニティでこれを行うための好ましい方法は何ですか?ハッシュを使用すると、ブラウザーは一番上までスクロールしますが、javascript:void(0)それだけでなく、JavaScriptではなくDartを実行しているため、見栄えが悪くなります。

4

1 に答える 1

4

これは、私たちが使用すべき恐ろしい神話#ですjavascript:void(0)しないでください。使用が許可されている#のは、ページのさまざまなセクションにスクロールする場合のみです。

リンクにデフォルトの動作をさせたくない場合は、リンクを使用しないか、属性全体をhref削除してください。

test.html

<!DOCTYPE html>
<html>
  <body>
    <a id="foo">Do something</a>

    <script type="application/dart" src="test.dart"></script>
    <script src="https://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
  </body>
</html>

href次に、いくつかのデフォルトスタイルをオーバーライドして、ハンドカーソルと下線を確実に取得する必要があります。これは、 -attributeがない場合、ブラウザーはそれらを削除する傾向があるためです。

styles.css

a {
    cursor: pointer;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

最後に、あなたがやりたいことを何でもするDartコード:

test.dart

import 'dart:html';

void main() {
  AnchorElement a = query('#foo');
  a.on.click.add((e) {
    print('Clicked! Do something.');
  });
}
于 2012-10-28T16:21:34.223 に答える