J2EE社區(qū)

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          DOM元素如何獲得焦點

          Posted on 2011-12-09 20:07 xcp 閱讀(2932) 評論(4)  編輯  收藏 所屬分類: Javascript
          首先讓我們看看哪些元素可以直接獲得焦點element..focus()

          // Form : http://www.w3.org/TR/html5/editing.html#focusable

          • a elements that have an href attribute
          • link elements that have an href attribute
          • button elements that are not disabled
          • input elements whose type attribute are not in the Hidden state and that are not disabled
          • select elements that are not disabled
          • textarea elements that are not disabled
          • command elements that do not have a disabled attribute
          • Elements with a draggable attribute set, if that would enable the user agent to allow the user to begin a drag operations for those elements without the use of a pointing device
          • Each shape that is generated for an area element

          而除上面以外的元素(比如:div,p)一般都無法直接獲得焦點,那如何處理呢?

          1. 給元素添加 contenteditable 屬性。

            // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-contenteditable

            User agents must make editing hosts focusable (which typically means they enter the tab order).

          2. 給元素添加 tabindex 屬性。

            // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-tabindex

            The tabindex content attribute specifies whether the element is focusable, whether it can be reached using sequential focus navigation, and the relative order of the element for the purposes of sequential focus navigation.

            非常推薦使用tabindex = -1 ,基本無副作用!!

            // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-tabindex

            If the value is a negative integer: The user agent must allow the element to be focused, but should not allow the element to be reached using sequential focus navigation.

          綜述,使無法直接獲得焦點的元素獲得焦點的最佳實踐就是:給元素添加tabindex = -1




          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
          mail: 聯(lián)系我


          Feedback

          # re: DOM元素如何獲得焦點  回復  更多評論   

          2011-12-10 07:06 by tbw淘寶商城
          遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
          會的。。

          # re: DOM元素如何獲得焦點  回復  更多評論   

          2011-12-10 10:54 by tb
          給元素添加 tabindex 屬性

          # re: DOM元素如何獲得焦點  回復  更多評論   

          2011-12-10 13:02 by tb
          解釋的很好

          # re: DOM元素如何獲得焦點  回復  更多評論   

          2011-12-13 16:56 by tbw淘寶
          學習了
          主站蜘蛛池模板: 磴口县| 石嘴山市| 平果县| 天祝| 麻江县| 南陵县| 商城县| 东丰县| 卓尼县| 万荣县| 辰溪县| 射洪县| 比如县| 双峰县| 冷水江市| 花垣县| 云霄县| 霍邱县| 桦甸市| 皋兰县| 什邡市| 绩溪县| 鄂伦春自治旗| 岚皋县| 临沂市| 明水县| 松潘县| 饶阳县| 六枝特区| 泗阳县| 富平县| 淮北市| 西华县| 礼泉县| 南和县| 凤城市| 云和县| 桂东县| 始兴县| 高密市| 株洲县|