javascript - 如何在其他函数中访问jquery taphold

标签 javascript jquery-mobile canvas touch

我有一个 Canvas ,里面有对象,并且有一个对象的事件处理程序:selected。当我选择对象时,div (vtover) 会出现在 pageX 和 pageY 旁边的鼠标/触摸指针处。

我想要完成的是使用 jQuery Mobile 将事件处理程序从单击更改为触摸 Taphold。我尝试将所有代码放入我的水龙头中,但这不起作用。

我该如何解决这个问题?

chartdiv 是我的 Canvas 容器的 id

代码

canvas.observe("object:selected", function (e) {
    $("#chartdiv").on("taphold", function (a) {
       // tried to put below code inside this, but this didnt work out.
    });
    var obj = e.target;
    $("#vtover").show();
    $("#vtover").offset({
        left: event.pageX,
        top: event.pageY - 200
    });
    $("#vt_vol").val(myvol.toLocaleString("de-DE") + " " + unit);
    $("#vt_period").val(myper + " Tage");
    $("#vt_sump").val(sumper.toLocaleString("de-DE") + " " + unit);
    $("#vt_diffp").val(Math.round((myvol * myper / sumper) * 100) + " %");
});

最佳答案

你不能那样做,至少不能那样做,这应该可行:

var canvasHandler  = {
    obj : null
}

canvas.observe("object:selected", function (e) {
    canvasHandler.obj = e.target;
});

$(document).on("taphold", "#chartdiv",function (a) {

    // Now if you need selected canvas just use canvasHandler.obj

    $("#vtover").show();
    $("#vtover").offset({
        left: event.pageX,
        top: event.pageY - 200
    });
    $("#vt_vol").val(myvol.toLocaleString("de-DE") + " " + unit);
    $("#vt_period").val(myper + " Tage");
    $("#vt_sump").val(sumper.toLocaleString("de-DE") + " " + unit);
    $("#vt_diffp").val(Math.round((myvol * myper / sumper) * 100) + " %");
});

关于javascript - 如何在其他函数中访问jquery taphold,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23711310/

相关文章:

javascript - 在 react 中,如何使用条件来创建自定义搜索功能?

javascript - 陷入条件重定向循环

javascript - 重定向特定 channel 中的 Discord DM

jquery-mobile - 为什么 jquery mobile 不呈现我所有的 html 或加载 javascript?

javascript - 如何让 GSAP 时间线识别在其中创建的元素?

javascript - Angular : is it possible to share data between scopes?

jquery - 如何使用 jquery mobile 在多个页面中使用相同的导航栏?

javascript - Backbone.js 计时器 - 无用的 setInterval 调用

javascript - onkeyup 和 onkeydown 没有捕捉到任何东西

Android Canvas 绘制带下划线的文字