我正在尝试使用javascript和jquery做一些绘图,这里是我定义按钮的代码,但是我第一次单击它不起作用,第二次它运行良好,我不理解为什么。
$('<p><input type="button" value="Plot Data" /></p>').click(getData).appendTo('#plot');
有人可以帮忙解释一下吗? 谢谢!
梦飞
答案 0 :(得分:1)
var
// function for event click
getData = function(ev) {
alert('ok');
},
// your button
button = $('<input type="button" value="Plot Data" />').click(getData),
// append to p container
pcontainer = $('<p></p>').append(button).appendTo('#plot');
编辑评论
var
// counter clicks
clickCounter = 0,
// function for event click
getData = function(ev) {
$('#controlClick').append('click in getData '+(++clickCounter)+'<br />'); // firsts lines
// your code;
// don't put return false or ev.stopPropagation()
},
controlEvent = function(ev) {
$('#controlClick').append('click in control<br />');
},
// your button
button = $('<input type="button" value="Plot Data" />')
.bind('click', getData)
.bind('click', controlEvent),
// append to p container
pcontainer = $('<p></p>').append(button).appendTo('#plot');
答案 1 :(得分:0)
因为点击操作是'p'。 Jquery将返回外部html的对象,在您的情况下为'p'。试试这个:
$('#plot').append($('<p></p>').append($('<input type="button" value="Plot Data" />').wrap('').click(getData)));
答案 2 :(得分:0)
您是否尝试从代码中删除“p”代码?