IE點擊子div,父div不獲取焦點問題的解決辦法(一)

原始需求:父div上面有tabindex="0",點擊子div,子div獲取焦點,這個時候,希望父div也獲取焦點。

這個在Chrome,FF瀏覽器上均表現正常,唯獨IE環境不好用,困擾了許久,花費大約一天時間,嘗試過各種辦法,比如JS腳本,focus()方法,阻止冒泡事件,增加div蒙層,嵌套層級等等,都不能解決,也不是最理想的辦法。最後還是stackoverflow上搞定問題。

Demo在這裏鏈接

樣例代碼如下:


IE瀏覽器下的代碼行爲特別怪異,讓人費解,不知道是不是bug,但感覺不像,總之你可以在你的瀏覽器環境試驗下,唯獨IE不管用。

解決的辦法:

通過事件機制或者js腳本或引起許多問題,嘗試使用默認表情比如"div","span"在IE環境下就會出現這個狀況,但換成自定義的標籤,比如自定義“foo”或者像"var"這樣,IE就能夠表象的很正常。還是看代碼,在這裏


附上問題記錄:在這裏

=====================================================================

結合項目環境,vuejs

有兩種辦法可以實現:

1.使用var標籤,比較簡便。如果考慮H5標籤的語義化,容易混淆,最好寫上註釋。

2.自定義標籤,其實就是自定義組件foo,只不過組件裏面僅設置樣式display:block,然後用foo替換div即可。

=====================================================================

更新:後續內容,新的結論在這裏

前端新手,經驗欠缺,如您有幸路過此地,還請多多指教。

隨意轉載請註明出處及作者sotower

http://blog.csdn.net/sotower/article/details/69396530

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章