質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

3861閲覧

Reactでリンクに飛ばない

redp

総合スコア49

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2019/09/03 02:56

編集2019/09/03 11:17

質問内容

フロントエンドに関してほぼわからない状態からポートフォリオを作っています。
画像をクリックしてGithubのページに飛びたいのですが、通常の左クリックでは反応せず、中クリックなどによる新規タブで開くと開きます。
原因がわからずここに質問させていただきました。

以下のコードにおける<a href={item.url} ...でリンクの処理を実装しているつもりなのですが、間違っているでしょうか。

JavaScript

1import React, { Component } from 'react'; 2export default class Porfolio extends Component { 3 render() { 4 let resumeData = this.props.resumeData; 5 return ( 6 <section id="portfolio"> 7 <div className="row"> 8 <div className="twelve columns collapsed"> 9 <h1>作品等</h1> 10 <div id="portfolio-wrapper" className="bgrid-quarters s-bgrid-thirds cf"> 11 { 12 resumeData.portfolio && resumeData.portfolio.map((item)=>{ 13 return( 14 <div className="columns portfolio-item"> 15 <div className="item-wrap"> 16 <a href={item.url} target="_blank"> 17 <img src={`${item.imgurl}`} className="item-img"/> 18 <div className="overlay"> 19 <div className="portfolio-item-meta"> 20 <h5>{item.name}</h5> 21 <p>{item.description}</p> 22 </div> 23 </div> 24 </a> 25 </div> 26 </div> 27 ) 28 }) 29 } 30 </div> 31 </div> 32 </div> 33 </section> 34 ); 35 } 36}

追記: 左クリックが反応しないについて

コードにあるように、画像部分にカーソルを動かすとoverlayでitemのタイトルと説明が画像部に表示されます。以下に例を示します。
通常時は左のように画像があり、カーソルを合わせると右のようにタイトルと説明がでます。

イメージ説明

イメージ説明

私としては、コードでいう<a href=...>...</a>は画像部全体に範囲があるため、画像部のどこかをクリックすれば何かしらアクションが起きると考えていましたが、実際は言葉通り何も起こりません。
ロードが始まるわけでもなく、何も変化しません。
しかし、中クリックでは画像部のどこをクリックしても新規タブで開くので、リンクがおかしいわけではないと考えています。
まだ不足な点がございましたら指摘していただけると助かります。

環境、バージョン等

Windows 10
ブラウザ: Chrome, Vivaldi(chromiumベース), Firefoxで確認済み
npm: 6.4.1
react: 16.6.0
react-dom: 16.6.0
react-scripts: 3.1.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/03 05:04

閲覧環境のOS、ブラウザを追記して下さい。 > 通常の左クリックでは反応せず をもう少し具体的に書けますか?
redp

2019/09/03 11:21

環境の記載は完全に忘れていました。 ご指摘ありがとうございます。 追記いたします。
guest

回答1

0

自己解決

お恥ずかしながら、jQueryのバージョンを変更したら直りました。

投稿2019/09/04 04:04

redp

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問