alert事件點擊確認後指定input恢復焦點
阿新 • • 發佈:2017-06-02
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恢復焦點