检测文本区域中的“取消选择”事件

Ama*_*a S 5 javascript jquery

jQuery 有一个.select()方法,它可以让你在文本区域中选择文本时执行一个函数。

不幸的是,.deselect()当用户删除选择时,没有相应的方法来执行功能。

如何检测用户何时取消选择文本(例如,通过键入、单击或散焦)?

jk.*_*jk. 4

$("textarea").select(function() {\n    //do something here\n});\n\n$("textarea").on("blur focus keydown mousedown", function() {\n    //do something else here\n});\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n\n

该示例已被简化。您可以使用选择器而不是更具体$("textarea")

\n\n

blur focus keydown mousedown另一个例子,如果您只想在首先选择文本的情况下执行某些操作。

\n\n

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

\n

  • 如果我按 Ctrl 键,选择仍然存在,因此可能需要过滤掉所有功能/应用程序/...键 (2认同)