gpt4 book ai didi

javascript - 纯粹作为一个实验,我试图让除了在输入字段中输入更多数据之外什么都做不了;可行的?

转载 作者:行者123 更新时间:2023-11-30 13:43:50 25 4
gpt4 key购买 nike

我认为我已经非常接近了,但似乎无法涵盖下面列出的每一个单个方面:

  • 出于各种原因禁用退格键、删除键、左箭头键、主页键和 ctrl(一旦你考虑到同时按住两个键造成的困惑,所有这些都证明是困难的)
  • 确保用户无法退出该字段,然后在结束位置以外的位置重新输入(onfocusonclick 属性涵盖了这一点)
  • 强者:每次成功添加字符时记住该值,这样如果用户决定使用通过地址栏注入(inject)的 JavaScript 代码修改该值,则可以恢复原始数据

鉴于此的实际用途非常少(老实说是零),我只是将其作为知识的展示来追求。唉,看来我还不够;尽管如此,这是我目前正在使用的代码以供引用:

<input id="test" />
<script>
var d = '', kd = 0;
cancel = function(event)
{
event.target.value = '';
event.target.value = d;
};
handle_up = function(event)
{
if (event.keyCode == 36 || event.keyCode == 37) // home, left
{
kd = 0;
cancel(event);
event.target.value = d;
}
if (event.keyCode != 8 && event.keyCode != 46) // backspace and delete
d = event.target.value;
else // backspace
event.target.value = d; // set to stored ("cached") value
};
handle_down = function(event)
{
if (kd == 1)
{
cancel(event);
return false;
}
if (event.keyCode == 36 || event.keyCode == 37)
{
kd = 1;
cancel(event);
}
if (event.keyCode == 8 || event.keyCode == 46)
{
kd = 1;
cancel(event);
}
};
HTMLElement.prototype.perma = function()
{
this.setAttribute('onfocus', 'cancel(event)');
this.setAttribute('onclick', 'cancel(event)');
this.setAttribute('onkeyup', 'handle_up(event)');
this.setAttribute('onkeydown', 'handle_down(event)');
};
$('#test').perma();
</script>

同样,尽管这只是为了新奇,但我认为看到让输入框拒绝除数据输入以外的任何操作所需的聪明之处真的很酷。

最佳答案

顺便说一句,因为这是为了好玩。您是否尝试过将您可以输入的内容列入白名单,而不是将您不能执行的内容列入黑名单。

关于javascript - 纯粹作为一个实验,我试图让除了在输入字段中输入更多数据之外什么都做不了;可行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/665437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com