javascript - chrome中如何获取当前事件元素?

标签 javascript jquery google-chrome safari

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

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

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

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

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

非常感谢您的帮助!

最佳答案

如果它是通过点击触发的,为什么不这样做:

$('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
        }
    }
});

关于javascript - chrome中如何获取当前事件元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898114/

相关文章:

jquery - 如何让 jQuery.parseXML 在 node.js 中工作

javascript - 弹出窗口关闭时继续处理 - chrome 扩展

javascript - 看起来我的 javascript 中断了我的 css

javascript - Blur 事件在移动设备上用 jQuery 取消 Click 事件

javascript - ID 未提交查询

javascript - 如何在数据增加时自动扩展宽度和高度

html - Table-cell <a> 元素在 Chrome 中的不同高度

javascript - Chrome 扩展程序可重定向到带参数的 URL

javascript - 模式出现在页面加载时

javascript - 选项卡打开时持续的 session 的身份验证逻辑