2016-12-06 59 views
1

我的團隊正在使用可擴展框來濃縮我們wiki上的信息(在Confluence中),這是使用display:none/block的相當標準。我希望能夠使用瀏覽器的查找功能。我發現當我切換到使用max-height隱藏內容時,瀏覽器至少可以找到正確的文本,但是我希望在找到匹配內容時擴展可摺疊的內容,並在找不到內容時重新摺疊它在它。有沒有辦法做到這一點?檢測頁面查找/搜索以展開摺疊

我已經試過focusselectionchange事件無濟於事。我想我可以跟蹤滾動跳轉或跟蹤擊鍵,但這些都沒有告訴我,如果可摺疊是查詢的位置。

tl; dr是否有檢測瀏覽器查找的方法?

更新:這裏的代碼是什麼樣的想法:

var expand = document.querySelector('.expand'); 
expand.querySelector('.head').addEventListener('click', function(e) { 
//toggle a class .show on .expand 
}) 

我的CSS:

.expand .body { 
    opacity: 0; 
    max-height: 0; 
    padding: 0 20px 0 40px; 
    transition: all .4s; 
} 
.expand.show .body { 
    max-height: 3000px; 
    opacity: 1; 
    padding: 10px 20px 20px 40px; 
} 
+0

請添加一些代碼。如果我們可以看到 –

+0

可能重複[有沒有一種方法來檢測頁面上的查找搜索在JavaScript中](http://stackoverflow.com/questions/6680213/is-有一個方法來檢測在JavaScript中尋找在頁面上搜索) –

回答

0

其實你可以檢測按鍵組合,如Ctrl + F像下面

var map = {17: false, 70: false}; 
 
$(document).keydown(function(e) { 
 
    if (e.keyCode in map) { 
 
     map[e.keyCode] = true; 
 
     if (map[17] && map[70]){ 
 
      // FIRE EVENT YOU EVENT 
 
     } 
 
    } 
 
}).keyup(function(e) { 
 
    if (e.keyCode in map) { 
 
     map[e.keyCode] = false; 
 
    } 
 
});

+0

是的,但不會告訴我,如果我的可摺疊內有東西 – Airhogs777

+0

它也不會幫助,如果用戶從編輯菜單中選擇查找,而不是按Ctrl + F。 –

+0

是的,在這種情況下肯定不會有幫助,請記住,在處理Web應用程序時,我們無法控制這些內容。 –