我使用具有内容可编辑属性"true“的段落来代替输入,以实现完美的on。我正在尝试将enter键更改为"password”类型,因此尝试在段落上实现keydown事件,但面临一些问题。
我的HTML代码是:
<div id="usernameInput">
<p id="passwordInput" contenteditable="true" style="width: 100%;text-shadow: none;font-weight: normal; color: #ffffff;" data-ph="Password"></p>
</div>
我的jquery代码是:
$('#passwordInput').keydown(function(e){
if (e.keyCode > 65 && e.keyCode < 90) {
//code
$(this).val($(this).val()+'.');
e.preventDefault();
}
});
但是上面的代码不能工作,甚至不能输入文本,我把".val“改成了”.I“。
更改后的代码是她的:
$('#passwordInput').keydown(function(e){
if (e.keyCode > 48 && e.keyCode < 90 && e.keyCode != 8) {
//code
$('#passwordInput').text($('#passwordInput').text()+'.');
e.preventDefault();
}
});
上面的代码运行良好,但我的光标移动到相反的方向。请帮我实现我输入的文本为密码类型。
发布于 2015-07-27 23:07:17
问题似乎是在你改变了内容之后,地毯一直缩回原处。
你的任务就是把车开到最后。最不耗费脑力的方法是模拟“向下箭头”键的按下。
var x = jQuery.Event("keypress");
x.which = 40;
x.keyCode = 40;
$("#passwordInput").trigger(x);
在e.preventDefault();
之前插入这个
这显然不是做这件事的最好方法,但是很有效。
https://stackoverflow.com/questions/26233786
复制