标签: range

检测JavaScript范围对象中的换行符的问题

我有一些javascript根据用户选择的内容操纵html.对于真正的浏览器,我正在使用的方法利用"Range"对象,如下所示:

    var sel = window.getSelection();
    var range = sel.getRangeAt(0);
    var content = range.toString();
Run Code Online (Sandbox Code Playgroud)

内容变量包含所有选定的文本,工作正常.但是我发现我无法在结果字符串中检测到换行符.例如:

选定的文字是:

ABC

高清

GHI

range.toString()计算为"abcdefghi".

对特殊字符的任何搜索都不会返回\n\f\r或甚至\ s的实例.但是,如果我将变量写入可编辑控件,则会再次显示换行符.

有谁知道我错过了什么?

这些选择和操作可能与可编辑的div相关.在Chrome,FireFox和Opera中也可以看到相同的行为.令人惊讶的是IE无论如何都需要完全不同的代码,但除了它只是IE之外,没有任何问题.

非常感谢.

javascript newline range contenteditable

15
推荐指数
1
解决办法
3478
查看次数

在Internet Explorer中设置textarea选择

我正在寻找一种在Internet Explorer中的textarea中设置选择的方法.在其他浏览器中,这很好用:

textarea.selectionStart = start;
textarea.selectionEnd = end;
Run Code Online (Sandbox Code Playgroud)

在IE中,我假设我必须以createRange某种方式使用和调整选择,但我无法弄清楚如何.

有关正确文档createRange和相关方法的链接的额外奖励积分,MSDN没有多大帮助.

javascript internet-explorer textarea range selection

15
推荐指数
3
解决办法
9227
查看次数

如何突出显示DOM Range对象的文本?

我使用鼠标在html页面(在firefox中打开)选择一些文本,并使用javascript函数,我创建/获取与所选文本对应的rangeobject.

 userSelection =window.getSelection(); 
 var rangeObject = getRangeObject(userSelection);
Run Code Online (Sandbox Code Playgroud)

现在我想突出显示rangeobject下的所有文本.我这样做,

  var span = document.createElement("span");
  rangeObject.surroundContents(span);
  span.style.backgroundColor = "yellow";
Run Code Online (Sandbox Code Playgroud)

好吧,这个工作正常,只有当rangeobject(起始点和端点)位于同一个textnode中时,它才会突出显示相应的text.Ex

    <p>In this case,the text selected will be highlighted properly,
       because the selected text lies under a single textnode</p>
Run Code Online (Sandbox Code Playgroud)

但是如果rangeobject覆盖了多个textnode,那么它就不能正常工作,它只突出显示位于第一个textnode中的文本,Ex

 <p><h3>In this case</h3>, only the text inside the header(h3) 
  will be highlighted, not any text outside the header</p> 
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么做,所有在rangeobject下的文本,突出显示,独立于范围是在单个节点还是多个节点?谢谢....

javascript dom range highlight

15
推荐指数
2
解决办法
1万
查看次数

在Ruby中使用step!= 1声明一个整数范围

更新2:对于子孙后代,我就这样做了(感谢Jorg的输入):

100.step(2, -2) do |x|
    # my code
end
Run Code Online (Sandbox Code Playgroud)

(显然有很多方法可以做到这一点;但听起来这是最"Ruby"的方式;而这正是我所追求的.)


更新:好的,所以我要找的是step:

(2..100).step(2) do |x|
    # my code
end
Run Code Online (Sandbox Code Playgroud)

但事实证明,在我原来的问题中,我并非100%即将到来.我实际上想要向后迭代这个范围.令我惊讶的是,消极的一步是不合法的.

(100..2).step(-2) do |x|
    # ArgumentError: step can't be negative
end
Run Code Online (Sandbox Code Playgroud)

那么:我该怎么做呢?


嘿伙计们,我对Ruby 很,所以要温柔.

假设我想迭代从2到100的偶数范围; 我该怎么办?

显然我可以这样做:

(2..100).each do |x|
    if x % 2 == 0
        # my code
    end
end
Run Code Online (Sandbox Code Playgroud)

但是,显然(再次),这将是非常愚蠢的.

我知道我可以这样做:

i = 2
while i <= 100
    # my code
    i += 2
end
Run Code Online (Sandbox Code Playgroud)

我相信我也可以编写自己的自定义类,提供自己的each方法(?).不过,我几乎可以肯定这会有点矫枉过正.

我对两件事感兴趣: …

ruby range

15
推荐指数
2
解决办法
8436
查看次数

合并PHP数组中的重叠范围?

我有一个以下格式的数组:

array(
  0 => array(1, 5),
  1 => array(4, 8),
  2 => array(19, 24),
  3 => array(6, 9),
  4 => array(11, 17),
);
Run Code Online (Sandbox Code Playgroud)

每个项目是X到Y范围.我想合并数组中的重叠范围,以获得更像这样的东西:

array(
  0 => array(1, 9), // 1-5, 4-8 and 6-9 are overlapping, so they are merged
  1 => array(11, 17),
  2 => array(19, 24),
);
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

php arrays merge range

15
推荐指数
1
解决办法
3064
查看次数

SQL查询,按给定坐标选择最近的位置

我有$latitude = 29.6815400$longitude = 64.3647100,现在在MySQL我想借15个最近的地方,这些坐标,我打算做此查询:

SELECT *
FROM places
WHERE latitude  BETWEEN($latitude  - 1, $latitude  + 1)
AND   longitude BETWEEN($longitude - 1, $logintude + 1)
LIMIT 15;
Run Code Online (Sandbox Code Playgroud)

你认为这是正确的还是你建议别的吗?

怎么办BEETWEEN,因为我想搜索最近50Km范围的近处?

我忘了说我也可以在运行查询之前使用PHP做任何事情.

注意:我无法使用存储过程.

php mysql sql range coordinates

15
推荐指数
2
解决办法
3万
查看次数

Emacs Lisp(elisp)中的范围数据类型或生成器?

什么是elisp相当于Python的range(start, end, [step])

elisp range

15
推荐指数
2
解决办法
2841
查看次数

多范围的python联合

我有这些范围:

7,10
11,13
11,15
14,20
23,39
Run Code Online (Sandbox Code Playgroud)

我需要执行重叠范围的并集以给出不重叠的范围,因此在示例中:

7,20
23,39
Run Code Online (Sandbox Code Playgroud)

我在Ruby中完成了这个,我已经在数组中推动了范围的开始和结束并对它们进行了排序,然后执行重叠范围的并集.有什么快速的方法在Python中执行此操作?

谢谢

python union range

15
推荐指数
2
解决办法
6784
查看次数

使用sql查找范围内的下一个可用整数,该整数在现有整数子集中不存在

问题陈述:

给定一系列x -> y无符号整数
,其中xy都在范围内 ,并且(或者在交替情况下为64) 找到最小可用值 不等于或 不在现有集合中 ,其中现有集合是任意子集0 -> 2n
n0 -> 32

xy

x -> y

我正在使用数据库中的IPv4和IPv6子网建模.每个子网由其起始地址和结束地址定义(我通过业务规则确保范围的完整性).由于IPv6太大而无法存储在bigint数据类型中,因此我们将IP地址存储为binary(4)binary(16).

相关联的数据被存储在subnet,dhcp_rangeip_address表:

  • 子网:子网范围由起始和结束IP地址定义并存储在subnet表中.子网范围始终为2 n(根据CIDR /网络掩码的定义).
  • IP:子网具有0..*存储在ip_address表中的IP地址.IP地址必须位于起始地址和结束地址之间,但不等于其关联子网定义的范围.
  • DHCP范围:子网具有0..*存储在dhcp_range表中的DHCP范围.与子网类似,每个DHCP范围定义开始和结束地址.DHCP范围受相关子网范围的限制.DHCP范围不会相互重叠.

我想要确定的是子网的下一个可用IP:

  • 不是已经分配(而不是在IP地址表)
  • 不在 DHCP范围内
  • 并且等于子网范围的开始或结束地址.

我正在寻找一个解决方案,找到最小可用地址或所有可用地址.

我最初的想法是生成由子网范围绑定的可能地址(数字)范围,然后根据使用的集删除地址:

declare @subnet_sk int = 42

;with …
Run Code Online (Sandbox Code Playgroud)

sql math network-programming range sql-server-2012

15
推荐指数
1
解决办法
1004
查看次数

如何定义像素颜色的清晰范围

我要做的是测试像素是否为蓝色.

例如:蓝色在RGB中定义为rgb(0,0,255).典型的颜色深度为8位(256色),16位(约65,000),24位(约1600万)和32位(超过40亿种不同颜色).因此,显然有超过1种蓝色.

如果蓝色与否,如何定义蓝色范围并测试每个像素?关于不同的深度,我需要记住什么?

到目前为止我的代码是:

BufferedImage image = ImageIO.read(file);

// Getting pixel color by position x and y
for (int i = 0; i < image.getWidth(); i++) {
    for (int j = 0; j < image.getHeight(); j++) {
        int clr = image.getRGB(i, j);
Run Code Online (Sandbox Code Playgroud)

注1:

http://www.workwithcolor.com/cyan-blue-color-hue-range-01.htm

这里的问题是,颜色步骤之间是什么?

一个例子就是很棒.

注2:

我刚刚发现了一个关于我感兴趣的话题的演讲:

http://cstwiki.wtb.tue.nl/images/06-opencv.pdf

在第13页,我们可以看到红色的定义.但是你如何定义其他颜色?

java rgb pixel colors range

15
推荐指数
1
解决办法
1006
查看次数