首頁 > web前端 > js教程 > javascript委託(Delegate)blur和focus用法實例分析_javascript技巧

javascript委託(Delegate)blur和focus用法實例分析_javascript技巧

WBOY
發布: 2016-05-16 15:57:39
原創
1360 人瀏覽過

本文實例講述了javascript委託(Delegate)blur和focus用法。分享給大家供大家參考。具體分析如下:

Opera (9.5b) 對於所有的focus和blur事件,不能正確的觸發兩次;
因此,focus和blur事件的處理函數可以被委派到事件的捕獲階段。

範例1(列表類別):

複製程式碼 代碼如下:

     
  1. 列表項目1
       

           
    1. 列表項目1.1

    2.      
    3. 列表項目1.2

    4.      
    5. 列表項目1.3

    6.    

     

  2.   其他列表項目

範例2(表單類):

複製程式碼 程式碼如下:

 
  其他表單項目

這裡我們監聽的是最外層的ol區塊,如果我們用blur和focus事件,只是針對的是這整個的ol的,那麼裡面控件的focus和blur事件怎麼處理呢?

處理方式如下:

IE處理:

複製程式碼 程式碼如下:
$('列表').onmouseover = handleMouseOverver>;
$('列表').onmouseover = handleMouseOver. $('列表').onmouseout = handleMouseOut;
$('列表').onfocusin = handleMouseOver;
$('列表').onfocusout = handleMouseOut;

也可以寫成下面的形式:

複製程式碼 程式碼如下:
$('列表').attachEvent('onfocusout',handleMouseOut,true);

如果想要傳遞參數,可以加個中間函數,例如

複製程式碼 程式碼如下:
$('列表').attachEvent('onfocusout',function(event, myparams(event, myparams ){handleMouseOut(event, myparams);},true);

FF處理:

複製程式碼 程式碼如下:
$('列表').addEventListener('focus',handleMouseOver,true);
$('列表').addEventListener('blur',handleMouseOut,true);

希望本文所述對大家的javascript程式設計有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板