赞 | 14 |
VIP | 0 |
好人卡 | 0 |
积分 | 57 |
经验 | 0 |
最后登录 | 2024-11-15 |
在线时间 | 248 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 5724
- 在线时间
- 248 小时
- 注册时间
- 2024-8-28
- 帖子
- 128
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
function TextInput() { throw new Error("static class"); }
TextInput.text = document.createElement('textarea');
TextInput.isComposing=false
TextInput.event=null
TextInput.install = function() {
TextInput.text.style.position = 'absolute';
TextInput.text.style.opacity = 0;
TextInput.text.disabled = true;
document.body.appendChild(TextInput.text);
TextInput.text.addEventListener('compositionstart', this.onCompositionStart.bind(this));
TextInput.text.addEventListener('compositionend', this.onCompositionEnd.bind(this));
TextInput.text.addEventListener('input', this.changed.bind(this));
}
TextInput.onCompositionStart = function(event) {
this.isComposing = true;
}
TextInput.onCompositionEnd = function(event) {
this.isComposing = false;
if(event.data){
TextInput.event(event.data)
event.target.value=""
}
}
TextInput.changed = function(event) {
if (this.isComposing) {
return;
}
if(event.data){
TextInput.event(event.target.value)
event.target.value=""
}
}
TextInput.location=function (x,y,event){
TextInput.text.style.left = `${x}px`;
TextInput.text.style.top = `${y}px`;
TextInput.text.disabled = false;
TextInput.isInput=false
TextInput.cont=""
TextInput.event=event
TextInput.text.focus();
}
TextInput.disabled=function (){
TextInput.text.style.left = `0px`;
TextInput.text.style.top = `0px`;
TextInput.text.disabled = true;
TextInput.isInput=false
TextInput.cont=""
TextInput.event=null
}
TextInput.install()
TextInput.location(100,100,function (a){console.log(a)})
为了配合canvas层的组件,用奇怪的方法得到textarea中的输入。
反正每次要.location到光标位置,每次输入后在去组件里处理好。 |
|