1. 程式人生 > >偏方解決OPERA瀏覽器中無法禁止文字框回車提交問題

偏方解決OPERA瀏覽器中無法禁止文字框回車提交問題

在頁面上放一個文字框,如果在該文字框中按一下回車,瀏覽器通常會自作聰明地回傳整個頁面,但使用者通常喜歡按回車完成當前文字框的輸入,而不希望此時進行頁面回傳,在IE/FirFox等瀏覽器中,我們用下面的方法避免回傳(jQuery):
$('#TexBoxId').keydown(function(event)
{
 if(event.keyCode==13)
 {
  .....//完成希望的其他工作
  return false;//防止頁面提交
 }
}

OPERA瀏覽器的使用者越來越多,你會發現,上面的辦法在OPERA中無效,頁面依然被提交,網上搜了很久,沒有好的解決方案,突然想到,既然是在文字框裡面按回車才會自動提交,那何不把輸入焦點移開試試?
$('#TexBoxId').keydown(function(event)
{
 if(event.keyCode==13)
 {
  .....//完成希望的其他工作
  if ($.browser.opera)

//注意這句話
                    $(this).blur();
  return false;//防止頁面提交
 }
}
通過上面的偏方,成功解決了該棘手問題,如果希望保留輸入焦點,可以再用settimeout方法,延時讓文字框重新獲得輸入焦點。