javascript – 选择的奇怪行为

编程之家收集整理的这篇文章主要介绍了javascript – 选择的奇怪行为编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的JS代码


    function getSelectedText(){
      if(window.getSelection){
          select = window.getSelection().getRangeAt(0);
                  var st_span = select.startContainer.parentNode.getAttribute("id").split("_")[1];
                  var end_span = select.endContainer.parentNode.getAttribute("id").split("_")[1];
                  console.log(select.endContainer);
                  var ret_urn=[st_span,end_span];
                  return ret_urn
      }
      else if(document.getSelection){
          return document.getSelection();
      }

    }
    $(document).ready(function() {
      $("div#check_button button").click(function () {
                      var loc = getSelectedText();
                      console.log(loc);
                      });
    });
    

这是我的整个html文件http://pastebin.com/acdiU623

这很难解释,所以我准备了短片:http://www.youtube.com/watch?v=tVk4K70JO80

简而言之:当我按下鼠标左键并按住它来选择文本/数字并从字母/数字的一半开始选择时,虽然这个字母/数字没有突出显示,但它会被添加到选择中.我必须准确地开始选择.宽字母可以,但是用i,j或l等字母很难.

这是我电影的第二个例子.我按了5号长度的3/4处的左按钮,虽然没有突出显示5,但它被选中.

在FF和Opera上测试过.

解决方法:

好的,试过这个演示.它完美无瑕.它甚至适用于Firefox.刚刚测试过的歌剧和野生动物园,它也适用于它们.即使我选择半个字母或数字,它也会返回突出显示的文本,这是您进行选择时所期望的.

尽管只是为了测试目的,在新的网页上试一试.然后当它工作并且您对结果感到满意时,然后开始对现有页面进行更改.

它比你的代码简单得多.这是一个跨浏览器的脚本,用于获取用户选择的文本

<script language=javascript>
function getSelText()
{
    var txt = '';
     if (window.getSelection)
    {
        txt = window.getSelection();
             }
    else if (document.getSelection)
    {
        txt = document.getSelection();
            }
    else if (document.selection)
    {
        txt = document.selection.createRange().text;
            }
    else return;
document.aform.selectedtext.value =  txt;
}
</script>
<input type="button" value="Get selection" onm ousedown="getSelText()"> 
<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>

http://www.codetoad.com/javascript_get_selected_text.asp

希望这可以帮助.

PK

总结

以上是编程之家为你收集整理的javascript – 选择的奇怪行为全部内容,希望文章能够帮你解决javascript – 选择的奇怪行为所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的jQuery相关文章

目录验证码实现效果如下:生成验证码的方法:生成验证码随机背景颜色在html中引用完整源码下载地址:验证码实现效果如下:生成验证码的方法:function code_draw() { var canvas_width = $('#canvas').width(); var canvas_height = $('#canvas').height(); var canvas = document.getElementById("canvas"); //获取到canvas
比如info是一个字符串变量,如果需要去该变量的值,需要使用下面的语句:语法:alert($(&quot;#&quot;+id).val());例如:使用id设置隐藏控件 $(&quot;.img&quot;).mouseover(function(event){ var html=event.target.innerHTML; //alert(html); var aid=html.match(/&amp;lt;a id=&quot;(...
使用js去除字符串内所带有空格,有以下三种方法:( 1 ) replace正则匹配方法去除字符串内所有的空格:str = str.replace(/s*/g,&quot;&quot;);去除字符串内两头的空格:str = str.replace(/^s*|s*$/g,&quot;&quot;);去除字符串内左侧的空格:str = str.replace(/^s*/,&quot;&quot;);去除字符串内右侧的...
1.开启disabled,是input不可以编辑$(&quot;#input_id&quot;).attr(&quot;disabled&quot;,&quot;disabled&quot;);2.关闭disabled$(&quot;#input_id&quot;).removeAttr(&quot;disabled&quot;);普通js中是这样写的,document.getElementById(&quot;input_id&quot;).disabled = false;...
最近自学了一段时间的HTML、CSS、JavaScript、jQuery。通过自己这段时间学到的一点小知识,自己制作了一个小app------简易备忘录在此简单记录一下,同时也希望有更好创意的朋友提出改进意见或者指++++++++++++++++++++++++++++++++++++++++++++++++++++++++++开发工具:HBui
http://www.runoob.com/jquery/jquery-chaining.htmljQuery- 链(Chaining)通过jQuery,可以把动作/方法链接在一起。Chaining允许我们在一条语句中运行多个jQuery方法(在相同的元素上)。jQuery方法链接直到现在,我们都是一次写一条jQuery语句(一条接着另一条)。不过,有一
jQuery拥有以下滑动方法:slideDown(),slideUp(),slideToggle()1、jQueryslideDown()方法用于向下滑动元素。$(selector).slideDown(speed,callback);可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。可选的callback参数是滑动完成后所执行的函数名称
一、宽度和高度获取宽度.width()描述:为匹配的元素集合中获取第一个元素的当前计算宽度值。这个方法不接受任何参数。.css(width) 和 .width()之间的区别是后者返回一个没有单位的数值(例如,400),前者是返回带有完整单位的字符串(例如,400px)。当一个元素的宽度需要数学计算的时候推