Javascript:event.preventDefault()不适用于日语输入法
我想创建一个不允许输入任何字符的文本输入(与禁用的输入相同,但仍显示鼠标光标)Javascript:event.preventDefault()不适用于日语输入法,javascript,html,cjk,ime,Javascript,Html,Cjk,Ime,我想创建一个不允许输入任何字符的文本输入(与禁用的输入相同,但仍显示鼠标光标) 函数加载页(){ const el=document.getElementById('input-id'); el.addEventListener('keydown',(事件)=>{ event.preventDefault(); }); } loadPage() EventObject.preventDefault()属于EventObject,而不是元素。当发生事件时,将EventObject传递给Event
函数加载页(){
const el=document.getElementById('input-id');
el.addEventListener('keydown',(事件)=>{
event.preventDefault();
});
}
loadPage()代码>
EventObject.preventDefault()
属于EventObject
,而不是元素。当发生事件时,将EventObject
传递给EventListener,如el.onkeyup=function(eventObj){eventObj.preventDefault();}
。我的猜测是,在这种情况下,您确实希望将readonly='readonly'
作为HTML属性。如果您希望使用游标禁用输入,请使用此@CertainPerformance:对不起,原始代码未更正。我更正了代码谢谢,这很有道理。听起来问题在于浏览器使用不同的方法来插入字符-如果keydown
没有剪切字符,您可能还需要为其他相关事件添加侦听器。(输入?KEYUP?KEYPRESS?试试它,其中一个可能为您做)用JavaScript来做这件事,您需要确定哪一个事件导致添加的字符被触发,您可以考虑通过添加监听器。