我正在尝试使用if语句来确定提交哪个按钮/文本框。
例如,在firefox / IE / Opera中,当我单击标有SubmitNameSearch作为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
}
}
});