2016-04-18 23 views
1

はなぜES6矢印機能に

$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click')); 

が動作しないんか?私はにSyntaxErrorを得る:予期しないトークン

$(input).on('keypress', e=> { if (e.which == 13) $(btn).trigger('click'); });は最初の構文

$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click')); 

が、これは有効な構文ではないので、エラーがスローされます

$(input).on('keypress', function (e) { 
    return if (e.which == 13) $(btn).trigger('click') 
    ^^^^^^ 
}); 

と等価である微

答えて

0

を動作するかどうか。

一方、第2のコード構文

$(input).on('keypress', e => { 
    if (e.which == 13) $(btn).trigger('click'); 
}); 

が正しいので、それが動作します。

関数本体に複数のステートメントが含まれている場合、Arrow関数の構文を使用しないことをお勧めします。

0

あなたは論理的でjQueryのイベントハンドラから `` false`をreturn`ingは特別な意味を持っていることかの条件

$(input).on('keypress', e => (e.which == 13) && $(btn).trigger('click')); 
+2

お知らせの省略形としてを使用することができます。私は彼らがここで評価されるとは思わない。 – Bergi

関連する問題