js中的焦點事件問題

2021-05-24 01:14:19 字數 655 閱讀 9677

在web頁面中,經常要實現這樣乙個js功能:滑鼠焦點落到輸入框內,輸入框原有預設值消失,當失去焦點時,如果使用者未輸入任何內容,怎還是顯示預設值。

今天在修改一頁麵時,發現乙個問題:在頁面是可以實現上述功能,但提交表單後,由於在服務端資料校驗不通過時(為測試服務端的校驗功能,遮蔽了前端的js校驗。),alert 彈提示框後,再history.back(-1);返回表單填寫頁時,表單中預設內容是使用者輸入的不合法的內容(到此處沒問題),但是當滑鼠焦點落到輸入框內時,原有不合法的內容就消失了,使用者得從頭輸入,使用者體驗不太好,檢視了原js,是由乙個函式完成的(此函式的沒看太明白),如下:

遮蔽了上述函式,對各input元素,新增了 onblur(失去焦點)、onfocus(獲得焦點)的事件響應。大概思路是:

blur時,檢查元素的值是否等於'',如果是,就修改其值為預設值,如果不是就不做操作

focus時,檢查元素的值是否等於預設值,如果是,就修改其值為'',如果不是就不做操作

具體**如下:

1、html頁面中(部分)

2、js

這樣就可以實現最開始的功能了,這樣寫有2個缺點:

1、input元素預設值內容修改時,js將失效

2、每新增乙個input都需要新增相應的判斷**

---- 以後哪天找到更好的方法,再慢慢改進!

JS 焦點事件

校驗瀏覽器是否支援某事件 document.implementation.hasfeature focusevent 3.0 常用的焦點事件有 blur 在元素失去焦點時觸發,該事件不會進行冒泡,所有瀏覽器都支援 focusout 在元素失去焦點時觸發,該事件會進行冒泡,支援它的瀏覽器有 ie5.5...

js學習筆記24 焦點事件

事件 onfous 元素獲取焦點時觸發事件 onblur 元素失去焦點時觸發事件 方法 obj.focus 可指定元素設定焦點 obj.blur 取消指定元素的焦點 obj.select 選中指定元素裡面的文字內容 示例 1 doctype html 2 html lang en 3 head 4 ...

失去焦點和獲得焦點發生事件 js

失去焦點 nblur hanshu this 獲得焦點 nf cus hanshu this 函式名 chksafe 功能介紹 檢查是否含有 引數說明 要檢查的字串 返回值 0 是1 不是 function chksafe a return 1 函式名 chkspc 功能介紹 檢查是否含有空格 引數...