如何获取chrome中的当前活动元素?

时间:2012-10-15 14:45:59

标签: javascript jquery google-chrome safari

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

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

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

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

请问我是否做错了什么?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分: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
        }
    }
});