我第一次点击时,我的jquery按钮不起作用

时间:2010-10-01 12:59:32

标签: jquery

我正在尝试使用javascript和jquery做一些绘图,这里是我定义按钮的代码,但是我第一次单击它不起作用,第二次它运行良好,我不理解为什么。

$('<p><input type="button" value="Plot Data" /></p>').click(getData).appendTo('#plot');

有人可以帮忙解释一下吗? 谢谢!

梦飞

3 个答案:

答案 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');

example

编辑评论

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');​

example update

答案 1 :(得分:0)

因为点击操作是'p'。 Jquery将返回外部html的对象,在您的情况下为'p'。试试这个:

$('#plot').append($('<p></p>').append($('<input type="button" value="Plot Data" />').wrap('').click(getData)));

答案 2 :(得分:0)

您是否尝试从代码中删除“p”代码?