Javascript onpaste not working
Javascript onpaste not working
使用下面的html和Javascript计算输入字段中输入的字符数,并将其限制为30。我还向用户显示计数器。
计数器更改此事件的值:onfocus
、onKeyDown
、onKeyUp
、onpaste
。
我无法让onpaste
工作。当用户使用"CTRL V"进行粘贴时,计数器会更改值,但当使用鼠标/右键单击进行粘贴时则不会更改。我做错了什么?
Jsfidle:https://jsfiddle.net/ow3ubgp0/
HTML:
<input readonly type="text" name="countdown1" size="5" value="30" />
<input type="text" id="my_text_input" name="my_text_input" onfocus="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyDown="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyUp="limitText(this.form.my_text_input,this.form.countdown1,30);" onpaste="limitText(this.form.my_text_input,this.form.countdown1,30);" />
Javascript:
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
使用以下代码进行hi plz检查
我希望它能帮助
<html>
<form>
<input readonly type="text" name="countdown1" size="5" value="30" />
<input type="text" id="my_text_input" name="my_text_input" onfocus="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyDown="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyUp="limitText(this.form.my_text_input,this.form.countdown1,30);" onpaste="limitText(this.form.my_text_input,this.form.countdown1,30);" onChange="limitText(this.form.my_text_input,this.form.countdown1,30);" oninput="limitText(this.form.my_text_input,this.form.countdown1,30);"/>
</form>
<script>
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
</html>
这是一把正在工作的小提琴。
oninput
:当用户在字段中写入内容时,执行JavaScript。
<form>
<input readonly type="text" name="countdown1" size="5" value="30" />
<input onfocus="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyDown="limitText(this.form.my_text_input,this.form.countdown1,30);" onKeyUp="limitText(this.form.my_text_input,this.form.countdown1,30);" onpaste="limitText(this.form.my_text_input,this.form.countdown1,30);"
oninput="limitText(this.form.my_text_input,this.form.countdown1,30);" type="text" id="my_text_input" name="my_text_input" /></input>
</form>
-
函数limitText(limitField,limitCount,limitNum
limitField.value.length为零。它是粘贴之前值的值。
所以它永远小于limitNum。
相关文章:
- $rootScope not working
- jQuery document.ready not working
- Javascript getElementsByTagName not working?
- JQuery.val( ) not working
- Tomcat websocket is not working
- Javascript JSON.parse not working
- NodeJS Multer is not working
- Regex not working
- Ember run.debounce not working
- AngularJs 1 not working
- document.getElementById.style.backgroundImage not working
- Rxjs5, distinct() is not working
- createOscillator noteOn not working
- Javascript - .getHours() not working
- Javascript setTimeout not working | onkeydown
- MongoDB $pull not working
- Express router.use not working
- JSONP not working
- window.opener not working in chrome & IE
- Backbone + RequireJS: Collection.each() is not working