【问题标题】:Mousedown not working with vis timelineMousedown 不适用于 vis 时间轴
【发布时间】:2016-12-08 10:31:03
【问题描述】:

我在将 mousedown 事件加入 vis 时间线图时遇到问题...

这是我的代码结构:

<div id="firstDiv">
   <div id="timelineMap"></div>
</div>

$("#firstDiv").mousedown(function (e) {
    console.log("mouseDown");

    initialW = e.pageX;
    initialH = e.pageY;

    $("#firstDiv").bind("mouseup", function1);
    $("#firstDiv").bind("mousemove", function2);
    }
});

但是当我点击 firstDiv 时,什么都没有发生。我认为问题出在timelineMap 内部,因为没有它mousedown 可以工作......在那个div 里面有vis 时间线图。奇怪的是,如果我使用click() 而不是mousedown 它可以工作,但显然在这种情况下我不能使用mouseup

请帮我弄清楚

【问题讨论】:

  • 不要使用已弃用的函数bind,也不要使用嵌套事件(在事件中附加事件)。
  • @ZakariaAcharki Said 是对的。请改用新方法jQuery.on()

标签: jquery timeline clickable mousedown


【解决方案1】:

从 jQuery 3.0 开始,.bind() 已被弃用。自 jQuery 1.7 起,它被用于将事件处理程序附加到文档的 .on() 方法取代,因此不鼓励使用它。

尝试使用 on() 代替:

$("#firstDiv").on('mousedown', function (e) {
    console.log("mouseDown");
    initialW = e.pageX;
    initialH = e.pageY;
});

$("#firstDiv").on("mouseup", function1);
$("#firstDiv").on("mousemove", function2);

注意:您发布的代码中有一个额外的}

希望对您有所帮助。

【讨论】:

  • 感谢您的回答...我尝试更改您的建议方式,但 mousedown 还不起作用...问题必须与 vis 时间轴绑定,因为当我将其隐藏时div 时间线图一切正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 2021-01-16
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多