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

JavaScript實(shí)現(xiàn)按Ctrl鍵打開新頁面

 更新時間:2014年09月04日 09:33:01   投稿:junjie  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)按Ctrl鍵打開新頁面的例子,本文方法適用HTML5環(huán)境中,需要的朋友可以參考下

(譯者注: 本文解決的是按 Ctrl鍵時使用JS打開新頁面的問題)

在簡化的HTML5規(guī)范中,允許在 A 標(biāo)簽內(nèi)包含多個 DIV 和/或其他塊級元素. 現(xiàn)在只要用 <a> 標(biāo)簽包住塊元素,就能搞定原來需要用JavaScript來監(jiān)聽并調(diào)用 window.location 實(shí)現(xiàn)頁面跳轉(zhuǎn)(redirect)功能.

但使用<a>標(biāo)簽的這種包裝形式也有不好使的情況 —— 例如,某個塊元素(block)內(nèi)還有一些 <a> 標(biāo)簽, 這種情況下我們只想在點(diǎn)擊parent中<a>以外的其他部分時才跳轉(zhuǎn)到一個給定的地址。

當(dāng)然,像下面這樣用一個簡單的listener 也能實(shí)現(xiàn)我們的需求:

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

someElement.addEventListener('click', function(e) {
    // URL地址是什么都行,或者你也可以使用其他的代碼來指定.
    // 此處用的是該元素的 `data-src` DOM屬性(attribute)
    window.location = someElement.get('data-url');
});

…但這有時會有很糟的用戶體驗(yàn), 當(dāng)按住CTRL鍵(Mac是COMMAND鍵),再用鼠標(biāo)點(diǎn)擊時,它會在同一個(標(biāo)簽頁)窗口內(nèi)打開鏈接。知道有這個問題,你肯定想到了該如何去解決.我們修改一小點(diǎn)代碼就能達(dá)成這個目的,趕快花點(diǎn)時間去修復(fù)你的listener吧:

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

someElement.addEventListener('click', function(e) {
    // 獲取URL
    var url = someElement.get('data-url');
    // 判斷是否按下了CTRL鍵
    if(e.metaKey || e.ctrlKey || e.button === 1) {
        window.open(url);
    } else {
        window.location = url;
    }
});

原文作者已經(jīng)在 http://davidwalsh.name/ 網(wǎng)站上實(shí)現(xiàn)了這個功能,在使用window.location進(jìn)行頁面重定向時你也應(yīng)該記得這一點(diǎn)。這是一個很小的代碼改進(jìn),但對可用性的提高卻是非常重要的!

相關(guān)文章

最新評論

舒城县| 水富县| 裕民县| 随州市| 苏尼特左旗| 孝昌县| 保山市| 柞水县| 永胜县| 德庆县| 保康县| 凤庆县| 望谟县| 将乐县| 辽宁省| 郴州市| 驻马店市| 中山市| 安新县| 平凉市| 垫江县| 磐石市| 九龙坡区| 化德县| 桐梓县| 丰镇市| 肥城市| 荆门市| 大竹县| 申扎县| 栾城县| 天全县| 富宁县| 金秀| 拜泉县| 明光市| 和平区| 海阳市| 泽普县| 琼中| 南和县|