在我的 JSP 的文本字段中,我希望知道用户是在输入数据还是只是粘贴。
我如何使用 javascript 来识别它?
EDIT:根据安迪的回答,我知道如何去做,但仍然好奇那些人是如何编写 onpaste 事件的。
Safari、Chrome、Firefox 和 Internet Explorer 均支持onpaste
事件(不确定 Opera)。闩锁到onpaste
事件,只要粘贴某些内容,您就可以捕捉到。
Writing this is simple enough. Add the event handler to your input using html:
<input type="text" id="myinput" onpaste="handlePaste(event);">
或 JavaScript-DOM:
var myInput = document.getElementById("myInput");
if ("onpaste" in myInput) // onpaste event is supported
{
myInput.onpaste = function (e)
{
var event = e || window.event;
alert("User pasted");
}
}
// Check for mutation event support instead
else if(document.implementation.hasFeature('MutationEvents','2.0'))
{
/* You could handle the DOMAttrModified event here, checking
new value length vs old value length but it wouldn't be 100% reliable */
}
据我所知,Opera 不支持onpaste
事件。你可以使用DOMAtrrModified
事件,但即使脚本更改输入框的值也会触发,因此您必须小心处理它。不幸的是,我不熟悉突变事件,所以我不想通过编写一个我不自信的例子来搞乱这个答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)