1. 程式人生 > >alert事件點擊確認後指定input恢復焦點

alert事件點擊確認後指定input恢復焦點

ldr 恢復 click style alert 生效 警告 決定 焦點

在需要生效的頁面的js中創建一個js對象:

1 var refocus = new Object();
2 refocus.status = 0; //初始化為0,表示不生效
3 refocus.id = ‘‘; //需要恢復焦點的元素id

然後新建一個方法:

 1 function setFocus() {
 2     $(window).on(‘click‘, function() {
 3         var alertExist = $(‘#can‘).children().length > 0; //判斷alert框是否存在
 4         if (!alertExist) {
5 if (refocus.status == 1) { //我這裏設定的1是需要恢復焦點的標識符 6 $(‘#‘+refocus.id).val(‘‘).focus(); 7 refocus.status = 0; 8 } 9 } 10 }); 11 }

上面的方法的意思是,當瀏覽器發生點擊事件,那麽檢查alert框是否存在,不存在的情況需要檢查是否要啟動恢復焦點,這個由標識符,refoucs對象的status值決定,當為0時不執行,為1的時候執行,操作的對象就是id所在的元素.

然後在你需要生效的地方後面改變refoucs對象即可:

 1 alert(‘我是一個警告框‘);
 2 //警告框後面修改
 3 refocus.status = 1;
 4 refocus.id=‘xxx‘; //需要恢復焦點的input的id
 5 
 6 //也可以直接設定一個方法
 7 function setRefocus(id) {
 8     refocus.status = 1;
 9     refocus.id = id;
10 }
11 //然後在alert後面直接調用這個方法即可
12 alert(‘我是一個警告框‘);
13 setRefocus(‘xxx‘);

我這裏的設計是只有一個生效的標識符,直接讓input清空,然後恢復焦點,也可以細分多種標識符,可以只恢復焦點,不清空,這個是跟著需求走的.

alert事件點擊確認後指定input恢復焦點