如何在javascript中修改keydown函数以不允许小数点?

时间:2015-06-19 20:39:45

标签: javascript keydown

有了这个,我只能写数字:

import time
import sys
from random import random

class Enemy():
    def __init__(self):
        self.dead = 0
        self.life = 100

    def attack(self):
        if random() > .20:
            self.life -= 10
            print("Attack successful, enemy  life decreased by 10  to {}".format(self.life))
        elif self.life <= 90:
            self.life += 10
            print("Attack unsuccessful, enemy increases life to {}".format(self.life))

    def health_check(self):
        if self.life <= 0:
            print("You defeated the enemy!")
            sys.exit()


enemy1 = Enemy()
while True:
    time.sleep(1)
    enemy1.attack()
    enemy1.health_check()
    time.sleep(1)

我需要修改此方法以禁止写入小数点“。”

我该怎么做?感谢。

1 个答案:

答案 0 :(得分:0)

只需删除190,即&#39;。&#39;

$("#field").keydown(function (e) { 
    if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||     $(this).val().indexOf('.') != -1 || (e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) || (e.keyCode >= 35 && e.keyCode <= 40)) {
        return;
    }
    if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
        e.preventDefault();
    }
});

https://jsfiddle.net/s3xqtdax/

您也可以查看此解决方案:

How to allow only numeric (0-9) in HTML inputbox using jQuery?