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

这应该是可能的,但很复杂。首先,您必须检测单击时的光标位置(第一次单击 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 次 |
| 最近记录: |