这是我的代码:
$("input").on({
keydown: function(ev) {
if (ev.which === 27){ // esc button
backspace_emolator();
} else if (ev.which === 8){ // backspace button
console.log('backspace button pressed');
}
}
});
function backspace_emolator(){
// remove one character exactly how backspace button does
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="fname" class="myinput">
&#13;
我试图做的就是使 esc 按钮与 backspace 按钮完全相同。因此,我希望在按下.myinput
时删除<kbd>esc</kbd>
值的一个字符。
我该怎么做?
注意:我不想删除.myinput
值的一个字符。我想按 backspace 按钮。因此,当我按 esc 按钮时,控制台中应显示backspace button pressed
。
答案 0 :(得分:1)
这就是我要做的。我不认为这是最好的解决方案,而是一个有效的解决方案。
$("input").on({
keydown: function(ev) {
if (ev.which === 27){ // esc button
backspace_emolator(this);
} else if (ev.which === 8){ // backspace button
console.log('backspace button pressed');
}
}
});
function backspace_emolator(el){
// remove one character exactly how backspace button does
var val = el.value
el.value = val.substring(0, val.length - 1);
// trigger event
var e = jQuery.Event("keydown");
e.which = 8; // # Backspace keyCode
$(el).trigger(e);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="fname" class="myinput">
&#13;
编辑: 我修改了关于编辑的代码。 @ Alexandru-Ionut Mihai建议不适合你的原因是因为你只是在听keydown而在他的例子中他正在触发按键。
答案 1 :(得分:1)
这是解决方案:
您必须为trigger
input
举办$("input").on({
keydown: function(ev) {
if (ev.which === 27){ // esc button
backspace_emolator();
}
}
});
function backspace_emolator(){
var e = jQuery.Event("keydown", { keyCode: 8 }); // you can specify your desired key code
$('input').trigger(e);
}
活动。
val exitValue = Process(Seq("bash", "-c", command), dir) ! processLogger
答案 2 :(得分:1)
使用此代码,您可以按照自己的意愿使用。
$("input").on({
keydown: function(ev) {
if (ev.which === 27){ // esc button
backspace_emolator(ev);
}
if (ev.which === 8){ // backspace button
console.log('backspace button pressed');
}
}
});
function backspace_emolator(ev){
// remove one character exactly how backspace button does
var inputString = $('#inputID').val();
var shortenedString = inputString.substr(0,(inputString.length -1));
$('#inputID').val(shortenedString);
console.log("Backspace button Pressed"+" "+inputString);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="inputID" type="text" name="fname" class="myinput">