我有一個div是CONTENTEDITABLEHTML內容可編輯的div:選擇文本事件
<div class="editable" contenteditable="true"></div>
,用戶可以在裏面輸入任何內容。當用戶在div中進行選擇時,有什麼方法可以獲取該事件嗎?
喜歡的東西:
$('.editable').onSelection(function(e, selection){alert(selection);}
我有一個div是CONTENTEDITABLEHTML內容可編輯的div:選擇文本事件
<div class="editable" contenteditable="true"></div>
,用戶可以在裏面輸入任何內容。當用戶在div中進行選擇時,有什麼方法可以獲取該事件嗎?
喜歡的東西:
$('.editable').onSelection(function(e, selection){alert(selection);}
$('#ta').select(function() {
alert('Handler for .select() called.');
});
。選擇(處理器(eventObject)傳遞)返回:jQuery的 綁定的事件處理程序 「中選擇」 JavaScript事件,或者觸發元素上的事件。 (eventObject) handler(eventObject)每次觸發事件時執行的函數。
.select([eventData],handler(eventObject)) eventDataA將傳遞給事件處理程序的數據映射。 handler(eventObject)每次觸發事件時執行的函數。
檢查link
on.select不會爲contenteditable激發。 ref:「此事件僅限於字段和
你可以嘗試這樣的事:
沒有「selectend」事件,但我們可以通過觀察鼠標鬆開事件
$(function() {
$('.editable').on('selectstart', function() {
$(document).one('mouseup', function() {
alert(this.getSelection());
});
});
});
您可能還希望在與'mouseup'相同的事件處理程序中添加'keyup',以便用鍵盤選擇文本也可以工作 –
這是一個非常好的點 – Elliott
制定出當用戶選擇完可能重複[在Javascript中選擇文本事件觸發器](http://stackoverflow.com/questions/3545018/selected-text-event-trigger-in-javascript)':)''可能有幫助! –
@Tats_innit謝謝你的指針。但http://stackoverflow.com/a/11786495/1008421種解決問題。但我想如果有其他更好的方法來做到這一點 – unni