为什么
$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click'));
不起作用?我得到了SyntaxError:Unexpected token if if
$(input).on('keypress', e=> { if (e.which == 13) $(btn).trigger('click'); });
工作正常
答案 0 :(得分:0)
第一种语法
$(input).on('keypress', e=> if (e.which == 13) $(btn).trigger('click'));
相当于
$(input).on('keypress', function (e) {
return if (e.which == 13) $(btn).trigger('click')
^^^^^^
});
由于这不是有效的语法,因此会抛出错误。
虽然,第二个代码语法
$(input).on('keypress', e => {
if (e.which == 13) $(btn).trigger('click');
});
是正确的,因此它有效。
当函数体包含多个语句时,我建议不要使用箭头函数语法。
答案 1 :(得分:0)
你可以使用逻辑和if条件的简写
$(input).on('keypress', e => (e.which == 13) && $(btn).trigger('click'));