最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于onchange事件在IE和FF下的表現(xiàn)及解決方法

 更新時間:2014年03月08日 09:48:53   作者:  
本篇文章主要是對關(guān)于onchange事件在IE和FF下的表現(xiàn)及解決方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

在最近做的一個項目中,有這么一個功能點:頁面上有一個checkbox,當(dāng)用戶選擇或者取消選擇該checkbox時會向后臺發(fā)一個jsonp請求。當(dāng)時的實現(xiàn)是為這個checkbox添加一個onchange事件,但結(jié)果卻出人意料,為此,我深入的研究了一下,發(fā)現(xiàn)了onchange事件在IE和FF下的表現(xiàn)存在著以下問題。

問題①:在FF下,當(dāng)改變checkbox的選中狀態(tài)時,會馬上觸發(fā)onchange事件。但在IE下改變checkbox的選中狀態(tài)時,并不會馬上出發(fā)onchange事件,而是需要等待checbox失去焦點時該事件才會出發(fā)。

為了解決這個問題,我在checkbox的onclick事件里添加了this.blur()這條語句,這是由于onclick事件是在onchange事件之前執(zhí)行的,因而在Onclick事件中添加this.blur()使checkbox失去焦點便馬上會出發(fā)onchange事件??扇绱艘粊?,又遇到了第二個問題。

問題②:當(dāng)onclick事件和this.blur同時使用時,在IE下會報錯。

在網(wǎng)上查找了一些資料,終于發(fā)現(xiàn)了onpropertychange這個事件。該事件在FF下是不會觸發(fā)的。而在IE下,當(dāng)checkbox的選擇狀態(tài)改變時馬上會出發(fā)。于是,得出了最終的解決方案:在IE下,為checkbox綁定onpropertychange事件,而在FF下,為其綁定onchange事件。

具體代碼實現(xiàn)如下:

復(fù)制代碼 代碼如下:

var ua=navigator.userAgent.toLowerCase();
var s=null;
var browser={ 
  msie:(s=ua.match(/msie\s*([\d\.]+)/))?s[1]:false, 
  firefox:(s=ua.match(/firefox\/([\d\.]+)/))?s[1]:false, 
  chrome:(s=ua.match(/chrome\/([\d\.]+)/))?s[1]:false, 
  opera:(s=ua.match(/opera.([\d\.]+)/))?s[1]:false, 
  safari:(s=ua.match(/varsion\/([\d\.]+).*safari/))?s[1]:false 
};
if(browser.msie){//若為IE瀏覽器
    checkbox.onpropertychange=function(){
         //do someting
    }
}
else{
    checkbox.onchange=function(){
        //do something
    }
}

相關(guān)文章

最新評論

子洲县| 大同市| 乐清市| 寿阳县| 石林| 应城市| 遂昌县| 商丘市| 龙里县| 玉门市| 中卫市| 丁青县| 镇远县| 桐梓县| 和田县| 高州市| 乐安县| 石台县| 姜堰市| 广元市| 隆子县| 孝感市| 右玉县| 元朗区| 大方县| 安阳市| 兴化市| 呼伦贝尔市| 蒙阴县| 阜新市| 泸定县| 江陵县| 准格尔旗| 任丘市| 普定县| 宝清县| 星座| 崇左市| 阿荣旗| 万宁市| 巴青县|