我想创建一个只能在其中写入自然数的输入字段。(是的,我知道这可能是一个不好的做法,因为用户没有得到任何反馈)。如果您键入数字以外的任何内容,它不应出现在输入中。我想使用纯 JavaScript(没有 JQuery)。
我通常会这样做:
<input oninput="this.value = this.value.replace(/\D+/g, '')">
Run Code Online (Sandbox Code Playgroud)
但我发现,这<input type="number">对于移动设备来说是更受欢迎的,因为它不显示整个键盘,而只显示数字。
所以我的问题是,如何type="number"与过滤结合(并使其与剪切/复制/粘贴兼容)?
<input type="number">如果输入任何非数字字符,则 - 元素的值始终为空字符串。所以我上面的过滤方法不起作用。有什么解决方法吗?
如果没有,我就必须监听按键、粘贴、剪切以及可能的更多事件。我必须考虑哪些事件,我将如何实施它,以及是否有我忽略的更简单的方法?
有人问我的朋友如何删除标题标签周围的空格,他回答说
h1 {
margin: 0;
padding: 0;
}
Run Code Online (Sandbox Code Playgroud)
但我从未真正见过标题周围的填充。在我得到的每个浏览器中,只有保证金。所以现在我想知道,实际上是否有浏览器默认在标题周围有填充?
或者这是所有浏览器都遵循的标准,即不在标题周围添加填充?是padding: 0;不必要的吗?
我正在使用 Discord.js 制作 2 人石头剪刀布游戏。
遗憾的是,Discord API 非常慢,并且 afaik 不提供任何类型的中间件。当有人选择他们的形状时,另一个人会在很长一段时间内看到反应(或聊天消息),直到机器人将其删除,从而破坏整个游戏。
我能想到的秘密获取输入的唯一方法是在私人聊天中向用户发送一条消息,他可以对此做出反应。但在我看来,必须从服务器切换到私人聊天然后再返回服务器只会使游戏无法玩。与简单地点击反应相比,这对用户来说工作量太大了。
另一种选择是在聊天中发送消息,只有特定用户才能看到。它可以说“1 = 剪刀,2 = 石头,3 = 布”。(每个玩家的映射都是随机的)。然后用户从选项1、2和3中选择相应的反应。但Discord似乎不允许在聊天中发送消息,只有特定用户才能看到。或者有什么办法吗?
有没有什么方法可以在用户不必切换聊天的情况下秘密获取用户输入?
API 是否可能为我忽略的消息或反应提供任何类型的中间件?
是否有一个简单的函数可以比较数字 x 和 y,当 x 小于 y 时返回 -1,当 x 大于 y 时返回 1,当它们相等时返回 0?
如果不是,最短的方法是什么?
html ×2
javascript ×2
css ×1
discord ×1
discord.js ×1
input ×1
node.js ×1
python ×1
python-3.x ×1
validation ×1