日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让元素获得焦点

發布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让元素获得焦点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般而言,只有表單元素與鏈接才能使用focus與blur事件,因此jQuery對于許多元素就歇菜了。但只要為元素節點設置一個tabindex屬性,非表單元素也可能使用這兩種事件。

但默認能使用焦點事件的元素一般也支持tabindex事件。為什么這么說呢?因為實質上,默認支持焦點事件的元素并不只這些,IE還默認body, frame, iframe, img, isIndex, object具有獲取失去焦點的能力。對于其他標準瀏覽器,它們之間還可能存在差異。因此我們不能單純地通過排除法,為非焦點元素添加tabindex屬性。而是轉而用一種更好的方法,通過檢測當前元素是否已經(顯式地或隱式地)設置了該屬性,才做進一步的操作。如下是檢測函數:

var hasAttr = function(el, name){var attr = el.getAttributeNode && el.getAttributeNode(name);return attr ? attr.specified : false}

如果返回值為false,我們就為該元素設置tabindex屬性。對于tabindex屬性,w3c對此也作出相應現范。如果tabindex為負數,那么元素就不能使用tab鍵進行導航,但還能獲得焦點。如果位于 0 到 32767之間,則可以根據tabindex的值進行導航。如果當幾個元素的tabindex同為零時,則以文檔流的順序執行導航。更多與tabindex相關的資料,可以參看我的另一篇文章。

通過上面的分析,無疑將tabindex設為負數最安全,這樣就不會破壞原有的tab導航系統。順便一提,獲得焦點后,元素有一個虛線框,總有人挖空心思把它去掉。其實這無疑是對頁面易用性的踐踏,我們還要考慮一下某些特殊人群的需要,如不用鼠標的高手,鼠標壞了的可憐人或是視力有缺陷的人群。有文章介紹,去掉虛線框在美國是違法的,這是對視力障礙者的一種歧視!

下面給出完整的程序:

var hasAttr = function(el, name){var attr = el.getAttributeNode && el.getAttributeNode(name);return attr ? attr.specified : false}var addEvent = function(obj,type,callback){if ( obj.addEventListener ) {obj.addEventListener( type, callback, false );} else if ( obj.attachEvent ) {obj.attachEvent( "on" + type, callback );}}var focus = function(el,fn){if(!hasAttr(el,"tabindex"))el.tabIndex = -1;addEvent(el,"focus",function(e){fn.call(el,(e || window.event));});} <!doctype html> <html lang="zh-ch"> <head> <meta charset="utf-8" /> <meta content="IE=8" http-equiv="X-UA-Compatible"/> <title>讓元素獲取焦點 by 司徒正美</title> <script type="text/javascript"> window.onload = function(){ var hasAttr = function(el, name){ var attr = el.getAttributeNode && el.getAttributeNode(name); return attr ? attr.specified : false } var addEvent = function(obj,type,callback){ if ( obj.addEventListener ) { obj.addEventListener( type, callback, false ); } else if ( obj.attachEvent ) { obj.attachEvent( "on" + type, callback ); } } var focus = function(el,fn){ if(!hasAttr(el,"tabindex")) el.tabIndex = -1; addEvent(el,"focus",function(e){ fn.call(el,(e || window.event)); }); } focus(document.getElementById("aaa"),function(e){ alert(e.type) alert(this.innerHTML) }); } </script> <style type="text/css"> body { padding:20px 100px; } a{ color:#FFDEAD; } #aaa { padding:10px; width: 100px; height: 100px; background:#4DC2F2; color:#FF8C00; font-weight:bolder; } </style> </head> <body> <h1><a href="http://www.cnblogs.com/rubylouvre/archive/2010/05/03/1726334.html">讓元素獲取焦點</a></h1> <div id="aaa" > 讓元素獲取焦點 </div> </body> </html>

運行代碼

總結

以上是生活随笔為你收集整理的让元素获得焦点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 顶臀精品视频www | 欧美韩一区二区 | 蜜桃av久久久亚洲精品 | 亚洲一区二区天堂 | 亚洲自拍偷拍一区二区三区 | 在线视频网站 | 国产午夜大片 | 蜜桃久久av| 快播91| 韩国女主播裸体摇奶 | 日本在线有码 | 国产大片一区二区三区 | 国产1区2区3区4区 | 人妻丰满熟妇av无码区hd | 少妇无码一区二区三区免费 | 日韩精品一区二区在线观看 | 成人免费视频久久 | 免费裸体美女网站 | av大全免费 | 精品国产无码AV | 波多野结衣在线网址 | 老女人一毛片 | 少妇全黄性生交片 | 亚洲成人激情在线 | 伊人久久中文字幕 | 麻豆成人免费视频 | 特级西西444www大胆免费看 | 国产成人自拍视频在线观看 | 欧洲视频一区 | 国产特黄大片aaaa毛片 | 精产国品一二三产区m553麻豆 | 农村老熟妇乱子伦视频 | av不卡一区二区三区 | 一级黄色免费观看 | 亚洲影音先锋 | 青青草久久 | 91在线超碰| 999久久久国产精品 韩国精品一区二区 | 久久免费少妇高潮久久精品99 | 亚洲国产精品成人va在线观看 | 丰满人妻老熟妇伦人精品 | 中文无码日韩欧 | 依人在线| 在线免费成人网 | 激情五月激情综合 | 999zyz玖玖资源站永久 | 无套内谢的新婚少妇国语播放 | eeuss一区| 青草视频免费看 | 国产精品入口夜色视频大尺度 | 在线视频一区二区三区 | 日韩福利视频一区 | 解开人妻的裙子猛烈进入 | 色男天堂 | 亚洲精品成人电影 | 日韩精品极品视频免费观看 | 激情视频免费在线观看 | 久久久久国产精品夜夜夜夜夜 | 一区二区午夜 | 精品午夜一区二区三区 | 久久理论片| 夜夜嗨av一区二区三区 | 国产页 | 狠狠干一区二区 | 在线中文一区 | 国产主播在线一区 | 91九色蝌蚪91por成人 | 日韩欧美一区在线观看 | 一级黄色片一级黄色片 | 久久人 | 亚洲第一自拍 | 女同在线观看 | 在线三区 | 在线中文字幕一区二区 | 一区二区三区四区国产 | 激情伊人 | 中文字幕Av日韩精品 | av中文字幕在线看 | 久青草视频在线 | 国产精品96久久久久久 | 免费人成在线观看网站 | 黄色羞羞网站 | 国产一区二区三区在线观看 | 欧美最黄视频 | ts人妖在线 | 亚洲色图插插插 | 欧美丰满熟妇bbbbbb百度 | 亚洲欧美日韩一区二区 | 97一级片| 欧美一区二区三区色 | 黄在线免费看 | 四虎成人精品 | 懂色一区二区二区av免费观看 | 锕锕锕锕锕锕锕锕 | 国产一区二区三区在线播放无 | 99久久精品国产成人一区二区 | sese视频在线观看 | 日本精品成人 | 亚洲成人无码久久 |