簡體   English   中英

我可以從文本或textarea之外的文本選擇中獲取Javascript事件嗎?

[英]Can I get a Javascript event from the selection of text outside of text or textarea?

我想知道用戶何時使用Javascript在html頁面中選擇文本。 該文本不應該是可編輯的。 onselect事件似乎僅適用於<textarea><input type="TEXT">標記。 如果禁用任一標記,則不會觸發該事件。

這些標簽有沒有解決方法?

有一種完全不同的方法嗎?

當然,這里有一個例子: http//www.codetoad.com/javascript_get_selected_text.asp

使用您在此處看到的內容,您可以將事件綁定到文檔正文的單擊/釋放事件,並檢查是否存在選擇,以及選擇確定他們是否選擇了任何文本的時間。

StackOverflow存檔:

  1. 當用戶選擇頁面上的文本時,會觸發什么事件?
  2. Javascript獲取WebPage中所選文本的段落

您可以捕獲mouseUp事件,並使用window.getSelection()檢查是否選擇了某些文本。

但是,此方法可能不是跨瀏覽器兼容的( window.getSelection() )。

編輯:這是一個非常完整的mouseUp綁定示例: http//mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

這在跨瀏覽器方式中並不容易。 在IE中,只有select事件適用於正文文本以及表單輸入,因此可以執行您想要的操作,但是為了檢測用戶何時以跨瀏覽器方式進行選擇,您將需要處理keyupmouseup事件。 即使這樣,您也不會使用“全選”菜單選項(通常位於編輯和右鍵單擊上下文菜單中)檢測選擇事件,例如用戶。 因此,您需要定期輪詢並檢查選擇對象的屬性(通過IE中的window.getSelection()document.selection )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM