未捕获错误:未知类型:d3.js v5.4.0中的dragend

时间:2018-05-27 15:56:02

标签: d3.js release release-notes

我正在使用d3.js v5.4.0

以下是我收到的错误:Uncaught Error: unknown type: dragend

这是因为我试图做以下事情:

            d3.drag()
            .subject(function(d){
                return {x: d.x, y: d.y};
            })
            .on("drag", function(args){
                thisGraph.state.justDragged = true;
                thisGraph.dragmove.call(thisGraph, args);
            })
            .on("dragend", function() {
                // todo check if edge-mode is selected
            });

现在似乎已弃用dragend

我试图找出发布说明,这些说明会在here之后的较新版本中描述替代方案,但无法做到这一点。

请帮我解决问题。

1 个答案:

答案 0 :(得分:1)

目前你可以用拖拽听到的三个事件(v4& 5. v3和之前的版本不同):

  

start - 新指针变为活动状态后(在mousedown或touchstart上)。   拖动 - 在活动指针移动后(在mousemove或touchmove上)。   结束 - 在活动指针变为非活动状态后(在mouseup,touchend或touchcancel上)。 (docs

所以,你应该只需要将dragend改为end



<script src="https://d3js.org/d3.v5.js"></script>
&#13;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/arootLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:orientation="vertical">

        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_below="@+id/tabLayout"
            android:layout_weight="1"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    </LinearLayout>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        app:itemIconTint="@android:color/background_dark"
        app:itemTextColor="@android:color/background_dark"
        app:layout_behavior=".Helper.BottomNavigationBehaviour"
        app:menu="@menu/bottom_navigation_menu" />

</LinearLayout>
&#13;
&#13;
&#13;