js 在输入框中如何实现回退键功能?

JavaScript09

js 在输入框中如何实现回退键功能?,第1张

<table id="table_StaticIP" >

<td>IP Address</td>

<td>

<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(0)" name="ip"><b>.</b>

<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(1)" name="ip"><b>.</b>

<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(2)" name="ip"><b>.</b>

<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(3)" name="ip"></td>

</table>

<script type="text/javascript">

var d = document.getElementsByName("ip")

function check(k){

if(k <0 || k >= d.length)return

var t = d[k].value.replace(/\D/ig, "")

if(t >255)t = 255

d[k].value = t

var e = window.event.keyCode

if(e == 13 || e == 190 || e == 110){ // 如果输入是回车或者.号 110 - 小键盘 190 - 大键盘 13 - 回车

d[k + 1].focus()

d[k + 1].select()

}

else if(e == 8){ // backspace = 8

if(t == "" &&k >0){

d[k - 1].focus()

move_end(d[k - 1])

}

}

else{

if(t.length >= 3 &&k <d.length - 1){

d[k + 1].focus()

d[k + 1].select()

}

}

}

function move_end(e){ //光标移到最后

var r = e.createTextRange()

r.moveStart('character',e.value.length)

r.collapse(true)

r.select()

}

</script>

当一条会话历史记录被执行的时候将会触发页面显示(pageshow)事件。(这包括了后退/前进按钮操作)

一般使用方法是通过 addEventListener

但是有时这种写法没有效果,使用下面写法代替

  //防止页面后退

 <script language="javascript">

    history.pushState(null, null, document.URL)

    window.addEventListener('popstate', function () {

        history.pushState(null, null, document.URL)

    })

 </script>