我試圖使用JavaScript和jQuery做一些繪圖我的jQuery按鈕不起作用,這裏是我定義按鈕的代碼,但我第一次點擊它不工作,第二次運作良好,我不明白爲什麼。當我點擊第一次
$('<p><input type="button" value="Plot Data" /></p>').click(getData).appendTo('#plot');
有人可以幫忙解釋嗎? 謝謝!
Mengfei
我試圖使用JavaScript和jQuery做一些繪圖我的jQuery按鈕不起作用,這裏是我定義按鈕的代碼,但我第一次點擊它不工作,第二次運作良好,我不明白爲什麼。當我點擊第一次
$('<p><input type="button" value="Plot Data" /></p>').click(getData).appendTo('#plot');
有人可以幫忙解釋嗎? 謝謝!
Mengfei
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');
嗨安德烈斯,感謝你的例子,我改變了你的代碼,但它仍然需要兩次點擊,也許有我的getData函數有什麼問題......現在很困惑。 – Mengfei 2010-10-01 13:26:56
嘗試這個簡單的事件處理 – 2010-10-01 13:42:06
因爲點擊操作是'p'。 jquery會返回外部html的對象,在你的情況'p'。試試這個:
$('#plot').append($('<p></p>').append($('<input type="button" value="Plot Data" />').wrap('').click(getData)));
你將不得不揭示了什麼_getData()_做。它可能*有助於首先將元素附加到DOM,然後附加事件處理程序,但可能不會。 – Thomas 2010-10-01 13:04:39
嗨,的getData()下載從另一臺服務器的數據和在海軍報,我不太明白你的意思是「appedn的元素到DOM」,繪製它你能解釋一下多一點? – Mengfei 2010-10-01 13:10:05