2012-03-13 71 views
2

jQuery具有.select()方法,該方法允許您在文本區域中選擇文本時執行功能。檢測文本區域中的「取消選擇」事件

不幸的是,當用戶刪除選擇時,沒有相應的.deselect()方法用於執行功能。

如何檢測用戶何時取消選中文本(例如,通過鍵入,單擊或散焦)?

回答

4
$("textarea").select(function() { 
    //do something here 
}); 

$("textarea").on("blur focus keydown mousedown", function() { 
    //do something else here 
});​ 

.on用於jquery 1.7及更高版本。在此之前,你可以使用.delegate.live

http://jsfiddle.net/s29Vb/4/

它被簡化的例子。您可以使用選擇器而非$("textarea")更具體。

另一個例子,如果你想在blur focus keydown mousedown上做某些事情,那麼只有在第一個選擇了文本的情況下。

http://jsfiddle.net/s29Vb/5/

+1

如果我按下Ctrl鍵,選擇仍然存在,所以可能需要過濾掉所有的功能/應用/ ...鍵 – didxga 2012-03-14 06:15:48