jquery:如何检测表单按钮是直接还是间接触发的

时间:2014-07-24 15:22:13

标签: javascript jquery events

我有一个包含一些元素和一个或多个提交按钮的表单。 我有一个事件处理程序通过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;
});

Example on JSfiddle

当文本输入或按钮突出显示时,可以通过鼠标单击按钮或按Enter键来触发此处理程序。

问题:当光标在文本输入中时,如果通过按Enter键触发处理程序,我如何检测(跨浏览器,包括IE10 +)或者通过鼠标直接点击或在选项卡上输入按钮?

首选的解决方案是没有额外的keypress / keyup处理程序; - )

0 个答案:

没有答案