gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:36:35 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com