小编not*_*xit的帖子

如何防止d3在右键单击时触发拖动?

我已经定义了一些按预期工作的拖动行为,如下所示(CoffeeScript中的代码):

nodeDrag = d3.behavior.drag()
  .on("dragstart", (d, i) ->
    force.stop())
  .on("drag", (d, i) ->
    d.px += d3.event.dx
    d.py += d3.event.dy
    d.x += d3.event.dx
    d.y += d3.event.dy
    tick())
  .on("dragend", (d, i) -> 
    force.resume()
    d.fixed = true
    tick())

// ...

nodes = vis.selectAll(".node")
  .data(graph.nodes)
  .enter()
    .append("g")
    // ...
    .call(nodeDrag)
Run Code Online (Sandbox Code Playgroud)

我现在尝试为节点上的右键单击创建自定义行为.然而,这会触发"dragstart"和"drag",即在我调用e.preventDefault()"contextmenu"事件之后,有问题的节点会粘在我的鼠标指针上并跟随它,直到我再做一次(左)单击以强制释放(我认为e.preventDefault()也会导致"dragend"从不开火.

在Google网上论坛的一个主题中找到了对此问题的简短讨论,并在Github上讨论了d3的问题.但是,我无法从这些评论中弄清楚如何防止这种行为.

如何在右键单击时不触发拖动?

d3.js

16
推荐指数
1
解决办法
7788
查看次数

使用Slick 1.0.0计算行数

我正在尝试使用Slick 1.0.0 创建一个查询,该查询返回与以下SQL语句等效的行计数:

SELECT COUNT(*) FROM table;
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的是:

val query = for {
  row <- Table
} yield row
println(query.length)
Run Code Online (Sandbox Code Playgroud)

这打印scala.slick.ast.FunctionSymbol$$anon$1@6860991f.此外,query.length似乎是类型scala.slick.lifted.Column.我找不到执行查询的方法.我可以在文档和其他任何地方找到的所有示例Column都不适用于ScalaQuery不适用于ScalaQuery,并且不再起作用.

我该怎么做才能执行此操作?

scala slick

8
推荐指数
1
解决办法
3994
查看次数

Haskell IO与交互和地图

我正在尝试使用interact函数生成交互式Haskell程序map.

这是我在ghci中得到的(据我所知,这是所有教程解释interact用法的方式- 结果除外).

*Module> interact $ unlines . map (++ "!") . lines
tteesstt
!
Run Code Online (Sandbox Code Playgroud)

请注意,实际发生的是我输入的每个字符都会立即重复,然后按Return键后会出现感叹号.然而,我期待这样:

*Module> interact $ unlines . map (++ "!") . lines
test
test!
Run Code Online (Sandbox Code Playgroud)

如果我使用相同的程序结构,它可以完美地工作,而filter不是map.

io haskell map buffering

6
推荐指数
1
解决办法
1299
查看次数

使用<>映射投影到Slick中具有伴随对象的案例类

使用Slick,我试图将数据库表条目直接投影到它们所代表的案例类.按照文档中示例,我使用<>运算符设置了映射投影:

case class SomeEntity3(id: Int, entity1: Int, entity2: Int)

val SomeEntityTable = new Table[SomeEntity3]("some_entity_table") {
  def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
  def entity1 = column[Int]("entity1")
  def entity2 = column[Int]("entity2")

  def * = id ~ entity1 ~ entity2 <> (SomeEntity3, SomeEntity3.unapply _)
}
Run Code Online (Sandbox Code Playgroud)

现在,我想为SomeEntity3添加一些静态常量和辅助方法.为此,我创建了一个伴侣对象.但是只要我加入这条线

object SomeEntity3
Run Code Online (Sandbox Code Playgroud)

一个非常疯狂的多行错误弹出,用于定义*说"使用替代方法重载方法值<>"时难以辨认的内容.

伴侣对象如何与Slick中的双向映射相关,我能以某种方式实现我的目标吗?

scala slick

5
推荐指数
2
解决办法
5068
查看次数

用于实现Scala SeqLike的惯用方法containsAny

Scala SeqLike实现了一种方法contains.如何干净地实现containsAny功能?

假设我想知道字符串是否string包含以下任何列入黑名单的字符blacklist:

val blacklist = List("(", ")", "[", "]", "{", "}", "<", ">")
string containsAny blacklist
Run Code Online (Sandbox Code Playgroud)

如何干净地实施第二条线的最佳方法是什么?

到目前为止我的版本看起来像这样:

(blacklist.view map string.contains) contains true
Run Code Online (Sandbox Code Playgroud)

scala

5
推荐指数
1
解决办法
620
查看次数

标签 统计

scala ×3

slick ×2

buffering ×1

d3.js ×1

haskell ×1

io ×1

map ×1