Flot:如何将“mousedown”事件添加到情节持有者?

时间:2011-04-18 03:07:10

标签: jquery events flot onmousedown

我想在JQuery / Flot代码中向情节持有者添加"mousedown"事件,我尝试了两种方法,但两种方法都没有用,我感谢任何人给我任何提示!

1)

placeholder.bind("mousedown",function(e){
    alert("1");
})

2)

function onMouseDown(e) {
    alert("1");
}

plot.hooks.bindEvents.push(function (plot, eventHolder) {
    eventHolder.mousedown(onMouseDown);
});

3 个答案:

答案 0 :(得分:0)

西蒙,

如果它们是DOM之后的动态添加元素,请尝试实时。如果在运行时添加正常绑定,则它们不起作用。

http://api.jquery.com/live/

答案 1 :(得分:0)

我猜你错了对$.plot的调用返回的内容。它不会返回一个jQuery对象,它会返回一个Plot对象。

所以最有可能的是,如果你有像HTML一样的东西:

<div id="placeholder" style="width:600px;height:400px"></div>

你想这样做一个绑定:

$('#placeholder').mousedown(function(){
  alert('mouse down')
});

答案 2 :(得分:0)

在flot中,您可以使用钩子绑定事件。有一个名为bindEvents的钩子,您可以使用它来绑定任何事件。

示例:

     function myClick(plot, eventHolder){
       eventHolder.mouseover((e)=>console.log('You preses the mouse at',e.pageX+""+e.pageY))
     }

     let options = { hooks: {bindEvents: [myClick]}}

文档详细介绍了这一点 https://github.com/flot/flot/blob/master/API.md