我想做的事情:
如何获取用户当前正在输入的输入字段的值? 我通过Chrome内容脚本将JavaScript注入访问的网站。
我已经尝试过的:
我尝试了alert($('.lastSelected').attr('id'));
和alert('document.activeElement.value: ' + document.activeElement.value);
,但都没有成功。这两种方法都返回undefined
。
如何获取用户当前正在输入的输入字段的值? 我通过Chrome内容脚本将JavaScript注入访问的网站。
我尝试了alert($('.lastSelected').attr('id'));
和alert('document.activeElement.value: ' + document.activeElement.value);
,但都没有成功。这两种方法都返回undefined
。
:focus
选择器。它将选择所有具有焦点的元素。
https://api.jquery.com/focus-selector/
如果用户正在输入,那么就会发生三个键盘事件之一: keypress
、keydown
或 keyup
。要获取聚焦元素的ID,我们可以使用 prop
方法。
$("input").on("keydown", function() {
alert($(":focus").prop("id"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input1" />
<input type="text" id="input2" />
setInterval(function () {
var focus = document.querySelector(":focus");
document.querySelector("output").textContent = focus ? focus.id : "none";
}, 1000);
<input type=text id="a" />
<input type=text id="b" />
<output></output>