双击 Chrome 输入字段中的文本选择

Mic*_*zek 5 html javascript google-chrome

我在 HTML 中输入了带有数字文本的字段,其中有一个点,即“1.00.1”。如果我在 IE 或 firefox 中双击此字段,浏览器仅选择文本的一部分(点之间),但在 Chrome 中双击选择此字段中的整个文本。在 Chrome 中更改此行为的最佳方法是什么?如果我在输入字段中只有文本(即“test.test”),则在 Chrome 中双击并选择与 IE 和 Firefox 一样。 在此处输入图片说明

Pie*_*ger 1

这应该是可能的,但很复杂。首先,您必须检测单击时的光标位置(第一次单击 dblclick),将其存储并在 dblclick(第二次单击)中使用它: 在文本输入字段中获取光标位置(以字符为单位) 在这里,您的问题将是不触发单击 dblclick,因为它会更改错误的光标位置(将光标位置重置为 0)。我尝试过,但这很难管理: http://jsfiddle.net/n2rzyxvg/3/

jQuery(document).on('click',"#input",function(){
    var clickpos = jQuery(this).getCursorPosition() ;
    jQuery(this).data('clickpos',clickpos) ;
    console.log("Click ! " + clickpos) ;
});

jQuery(document).on('dblclick',"#input",function(){
    console.log("DblClick ! " + jQuery(this).data('clickpos')) ;
});
Run Code Online (Sandbox Code Playgroud)

有一种方法,但它并不完美(不尊重 dblclick 的操作系统行为,它设置自定义超时来模仿 dblclick): Jquery 分别绑定双击和单击 如果您可以设法获取 dblclick 上的光标位置,您将然后只需找到您希望 jQuery 开始/停止选择的第一个和最后一个字符位置: Selecting Part of String inside an Input Box with jQuery

我无法为您提供更多帮助,但这里的困难部分是 dblclick 触发点击,第二部分应该更容易。

希望这可以帮助HF


归档时间:

查看次数:

2305 次

最近记录:

11 年,5 月 前