0

我正在尝试使用 if 语句来确定提交了哪个按钮/文本框。

例如在firefox/IE/Opera中,当我单击标有submitNameSearch as id的按钮时,以下代码总是可以返回true;

$(document.activeElement)[0] === $("#submitNameSearch")[0]

但是,当我在 chrome/safari 中测试我的代码时,返回值为 false。

请问我是不是做错了什么?

非常感谢你的帮助!

4

1 回答 1

4

如果它是在点击时触发的,你为什么不这样做:

$('button').on('click', function() {
    if (this.id=='submitNameSearch') {
        //do something
    }
});

并查看在焦点转移到单击的按钮之前哪个元素具有焦点,您可以随时执行以下操作:

var activeElm = null;

$('button').on({
    mousedown: function() {
        activeElm = document.activeElement;
    },
    click: function() {
        if (activeElm&&aciveElm.id=='submitNameSearch') {
             activeElm.focus; //returns focus
        }
    }
});
于 2012-10-15T14:48:34.013 回答