我有一个包含一些元素和一个或多个提交按钮的表单。 我有一个事件处理程序通过jquery附加到提交按钮来监听"点击"。
<form>
<input type="text" name="text" />
<br />
<input type="submit" name="submit" value="submit" />
</form>
$("body").on('click', 'input[type="submit"]', function(e) {
// explicitOriginalTarget is unsupported in IE!!
if (e.originalEvent.explicitOriginalTarget === this) {
alert('direct');
return false;
}
alert('indirect');
return false;
});
当文本输入或按钮突出显示时,可以通过鼠标单击按钮或按Enter键来触发此处理程序。
问题:当光标在文本输入中时,如果通过按Enter键触发处理程序,我如何检测(跨浏览器,包括IE10 +)或者通过鼠标直接点击或在选项卡上输入按钮?
首选的解决方案是没有额外的keypress / keyup处理程序; - )