国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript實現按Ctrl鍵打開新頁面

2024-05-06 16:08:26
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript實現按Ctrl鍵打開新頁面的例子,本文方法適用HTML5環境中,需要的朋友可以參考下
 
 

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

在簡化的HTML5規范中,允許在 A 標簽內包含多個 DIV 和/或其他塊級元素. 現在只要用 <a> 標簽包住塊元素,就能搞定原來需要用JavaScript來監聽并調用 window.location 實現頁面跳轉(redirect)功能.

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

當然,像下面這樣用一個簡單的listener 也能實現我們的需求:

復制代碼代碼如下:

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

 

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

復制代碼代碼如下:

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;
    }
});

 

原文作者已經在 http://m.survivalescaperooms.com/ 網站上實現了這個功能,在使用window.location進行頁面重定向時你也應該記得這一點。這是一個很小的代碼改進,但對可用性的提高卻是非常重要的!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 西平县| 淳化县| 鄂伦春自治旗| 花莲县| 仁怀市| 游戏| 永丰县| 民乐县| 津南区| 临海市| 新安县| 沙雅县| 楚雄市| 惠水县| 淳化县| 菏泽市| 故城县| 石棉县| 平潭县| 曲周县| 中方县| 永清县| 长垣县| 沙田区| 海丰县| 加查县| 承德市| 嘉义市| 白银市| 卓尼县| 宁蒗| 德钦县| 从化市| 盱眙县| 伊金霍洛旗| 莒南县| 门源| 门源| 广西| 西乌珠穆沁旗| 东辽县|