I am making a backspace function, but I only want the event to fire if the input field is empty and I hit backspace again. I don’t want it to fire when I hit backspace and the field is empty simultaneously!
If I type in… j then hit backspace, my event will fire.
I want to type in… j then hit backspace, don’t fire the event, hit backspace again, fire the event
function backspace_delete(e)
{
if (!e)
{
// IE reports window.event instead of the argument
e = window.event;
}
var keycode;
if (document.all)
{
// IE
keycode = e.keyCode;
}
else
{
// Not IE
keycode = e.which;
}
if (keycode == 8 && with_field.value == '')
{
if (document.all)
{
//IE
removeElementById(with_input.lastChild.id);
}
else
{
//Non IE
removeElementById(with_input.lastChild.id);
}
}
}
Sorry not understanding what you are requiring.
You have an input field (type=“text”). Say it starts empty.
You type in the three letters “abc” and then backspace. You want nothing to happen.
You hit backspace a second time and the letter “c” is removed.
You hit backspace a third time and the letter “b” is removed.
Your type the letter “d” and then backspace. You want nothing to happen.
You hit backspace a second time and the letter “d” is removed.
You hit backspace a third time and the letter “a” is removed. Leaving the field empty.
You hit backspace a fourth time. Nothing can happen so nothing does.
In this scenario you could achieve the desired effect by everytime a character a,b,c,d, … is typed setting a property, of you choice - say ignorebs, of the input element to true. If a backspace is detected and the property is true you ignore the keystroke and set the property to false so next time the backspace will action.