亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在文本突出顯示事件?

在文本突出顯示事件?

MMTTMM 2019-11-14 10:50:05
我很好奇,如果有人知道/一旦用戶完成網頁上的文本選擇,該如何觸發函數運行?我希望用戶能夠選擇文本,并在短暫的延遲后(或立即,此時無所謂)在文本附近出現一個疊加按鈕,用戶可以單擊該按鈕,然后我返回并運行我的更多基于選擇的代碼。這是用于Firefox擴展。我可以想到的一個類似示例就像在IE中一樣,您可以在其中選擇文本,然后顯示“ Web加速器”。我99%確信我知道如何實際覆蓋按鈕并獲取所選文本的位置,但是我不知道如何在不進行某種無限循環的情況下檢查是否有選中的內容似乎是一個可怕的主意。編輯://In my overlay.js with the rest of my sidebar codeisTextSelected: function () {           var myText = cqsearch.getSelectedText();        var sidebar = document.getElementById("sidebar");        var sidebarDoc = sidebar.contentDocument || document;        var curHighlightedDiv = sidebarDoc.getElementById("testDiv");        curHighlightedDiv.innerHTML = "Current text selection:" + myText;    }};//In my on firefox load function I added thisdocument.onmouseup = cqsearch.isTextSelected;因此,這就是我根據羅伯特的建議得出的,我花了一些時間將所有內容都放在正確的位置,但是效果很好!現在定位我的按鈕。
查看完整描述

3 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

晚會晚了一點,以備將來參考...


看一下MDN上的selectDOM事件。


釋放鼠標或按鍵時,它將觸發(至少在Chrome 40中為)。


document.addEventListener('select', callback);


查看完整回答
反對 回復 2019-11-14
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

進行/更改文本選擇時有一個本機事件。在包括IE在內的大多數瀏覽器上selectionchange都有基本的支持,并且不僅適用于表單元素,而且適用于文檔中的任何文本。


document.addEventListener("selectionchange",event=>{

  let selection = document.getSelection ? document.getSelection().toString() :  document.selection.createRange().toString() ;

  console.log(selection);

})

select this text

注意,顧名思義,它會在選擇的任何更改時觸發。因此,在選擇文本時,您將獲得對回調函數的多次調用。


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 388 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號