Javascript function(){}とアロー関数()=>{}は違う

Javascriptfunction(){}と書くのをアロー関数()=>{}と書ける、と知ってこれは便利。
かっこいいと使っていたら、場合によっては思ったように動かないことがわかりました。

次のサンプルプログラムをやってみて下さい。

https://kalz2q.github.io/jsdemo/this.html

ここでは、2つのテキストボックスがあって、その中をマウスでクリックするとそれを感知して「フォーカスされました」と表示されます。

<input type="text" class="textbox" value="お名前" >
<input type="text" class="textbox" value="メールアドレス" >

スクリプトはこんな感じ。正確にはデベロッパーツールで見てください。

<script>
$(()=>{
        $(".textbox").focus(function (){
                 $(this).val("フォーカスされました!");
       });
 });
</script>

これの function (){}()=>{}とすると、thisの中身が変えられなくなって「フォーカスされました」と表示されなくなります。
var that = thisとかでどうにかならないかと思ったのですがいまのところすなおにfunctionと書いた方がいいみたい。