2

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

1)</p>

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

2)

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

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

3 回答 3

0

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

所以最有可能的是,如果你的 HTML 是这样的:

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

你想做这样的绑定:

$('#placeholder').mousedown(function(){
  alert('mouse down')
});
于 2011-04-18T15:24:09.663 回答
0

西蒙

如果它们是在 DOM 之后动态添加的元素,请尝试 live 。如果在运行时添加它们,普通绑定将不起作用。

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

于 2011-04-18T03:10:26.083 回答
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

于 2018-01-22T06:38:24.773 回答