我有一个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