1

有没有办法在我每次更改文本时触发一个事件,<input type="text">而不是按键盘上的键进行更改?

我的意思是我想在有人输入时捕获,右键单击-> 在输入上粘贴或拖动选定的文本,而不仅仅是在按下键时。

我试过了:

<input id="some-id" onchange="alert('fired')">

$('#some-id').on('change', ev_handler);
$('#some-id').change(ev_handler);

唯一触发的事件是与按键相关的事件,但它们不会在粘贴或拖动时触发

4

2 回答 2

3

oninput事件可以满足您的需求,但请注意它在较旧的浏览器中没有得到很好的支持。您可以在 Dottoro 上找到更多信息。

如果您需要像您提到的那样涵盖所有浏览器和所有用例,那么确实没有更好的方法可以使用 JavaScript 定期检查(例如每 500 毫秒)您的输入值。

您可以在 StackOverflow 上找到关于此的讨论。

于 2012-08-01T16:52:16.783 回答
-2

尝试 onChange 事件,每次更改输入时都应该发出该事件,无论如何。

于 2012-08-01T16:46:37.570 回答