私はいくつかのガイダンスが必要です。初めてここに来たので、私が使っている「用語」のいくつかは珍しいかもしれません。メテオを作る方法インラインsvg要素に反応するページ全体をリフレッシュせずにリンクをクリック
私はJSXで(Meteor plafformを使用して)どのようなタイトルで述べたように達成しようとしています。現在、svgでxlinkHrefを使用すると、要素をクリックするとリンクが開きますが、ページ全体が更新されます。 svg(hrefを使用)の外側では、ページ全体を更新せずにリンクを開きます。コード例:私はSVGタグ外の「」タグをラップする場合、それは間違いなく動作しますが、私はちょうどクリック可能なように赤い丸が必要であることを
import React, { Component } from 'react';
export default class App extends Component {
render() {
return (
<div>
<svg>
<a xlinkHref="/nextpage"> //clicking this will refresh whole page
<circle cx="50" cy="50" r="40" fill="red" />
</a>
<circle cx="150" cy="50" r="40" fill="yellow" />
</svg>
<a href="/nextpage">Click to Next Page</a> //clicking this will not refresh
</div>
)
}
注意。
サークルエレメントを別々のsvgに分割してから "a"タグでラップすることを考えていましたが、私はそれを行うことができないと言っています。どのようにしてsvgエレメントをクリックして、 ?
編集:あなたがサークル上のonclickイベントハンドラを追加することができますいくつかのコードのタイプミス
こんにちは。あなたの解決策は私にとってはうまくいかない。それはリンクを開きますが、まだページ全体をリフレッシュします。私はsvgタグの外側でも "onClick"属性をテストしましたが、結果は上記と同じです。 event.preventDefault()がトリガーしないようですか? –
クリックハンドラをコンポーネントにバインドする必要があると思います。 'this.onCircleClick.bind(this)'。 – tsega
バインド(これも)が私の望むように動作しないことを追加しました。 @tsega –