国产探花免费观看_亚洲丰满少妇自慰呻吟_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://www.survivalescaperooms.com/ 網站上實現了這個功能,在使用window.location進行頁面重定向時你也應該記得這一點。這是一個很小的代碼改進,但對可用性的提高卻是非常重要的!


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

圖片精選

主站蜘蛛池模板: 修文县| 翁源县| 黄龙县| 辛集市| 临澧县| 新宁县| 金寨县| 枝江市| 墨玉县| 崇阳县| 张北县| 洛阳市| 昭觉县| 离岛区| 宣化县| 新泰市| 沙坪坝区| 黄骅市| 华坪县| 绥宁县| 万载县| 合川市| 毕节市| 玛曲县| 化隆| 九寨沟县| 舒兰市| 延川县| 合山市| 古浪县| 缙云县| 安庆市| 威海市| 鹤庆县| 耒阳市| 宜昌市| 康保县| 绥江县| 呼和浩特市| 麟游县| 永和县|