限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。JavaScriptタイトルは半分ネタですが、かなり陰湿なトラップに引っかかってしまったので記録として残します。thisバインドが効かない有名なやつですね。jQueryのイベントハンドラーがthisを渡せなくなるというものです。これができなくなる});これはアロー関数が呼び出し方に関係なくレキシカルにthisを束縛してしまうためです。一応解決策は存在します。falseが起きる今回問題が起きた原因です。a要素をクリックした時、イベントハンドラーがfalseを返すとページ遷移がキャンセルされるのは聞いたことがあると思います。クリックされたけどページ遷移はしない});アロー関数を使うとこれが予期せぬタイミングで起きることがあります。実際に事故を起こしたコードを載せます。これは「ページのどこかをクリックしたらサイドバーを閉じる」というコードです。false);パッと見はなんの問題もなさそうです。書き直してみると以下のようになります。false;});もうお気づきですよね。falseを返してしまっています。ページ中のa要素をクリックした際にもこのハンドラーが呼び出されてfalseが返されてしまいます。すればいいかというと、波カッコで囲むだけです。false});この問題、けっこう根が深い気がします。見ではfalseを返すようにまったく見えないのが悪質すぎます。追記:一応書くと、僕はjQueryに依存しきった旧石器時代の原人ではないです。その証拠に過去記事みてね(ハート)。「アロー関数を使うと下手な罠にかかるようなクソ原始ライブラリのjQueryはクソすぎ」というニュアンスでした。Fluxの恩恵はコンポーネント化によ...2018-11-16複数イベントを組み合わせたオリジナルイベントをカンタンにつくる方法たとえば「これらのラジオボタンが全てクリックされたあとに発...2018-07-13時代遅れのJavaScript記事を判別する4つのポイントES2015が勧告されてからすでに3年近く経っています。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。