2011-09-01 145 views
4

我使用jQuery創建一個錨點,並且在創建元素時觸發onclick事件。我已經使用this method這個項目幾次創建元素沒有問題,我得到了棒的錯誤結局?jQuery創建元素觸發onclick事件

jQuery('<a/>', { 
    href: '#', 
    name: 'link_html_edit', 
    id: 'link_html_edit', 
    html: 'input HTML text', 
    onclick: alert('test') 
}).appendTo(spanDefaultValue); 

感謝

回答

6

你打電話alert('test');並賦予它的返回值onclick。因爲我敢肯定alert('test')僅僅是一個例子,我還應該指出的是,如果你有一些功能相同的問題,你可能可以剛剛從改變你的代碼

onclick: function(){ alert('test'); } 

onclick: somefunction() 
使用這個代替

要:

onclick: somefunction 

你只需要包裝在一個匿名函數,我做了alert('test');如果你傳遞參數傳遞給其他函數的方式通常傳遞給事件處理程序的event對象。

+0

*捂臉*沒想到的,謝謝。我會在T減11分鐘後接受 – piddl0r

+0

@ piddl0r謝謝! :) – Paulpro

6

綜觀此頁面上的jQuery的文檔,你應該這樣做:

$("<a/>", { 
    href: '#', 
    name: 'link_html_edit', 
    id: 'link_html_edit', 
    html: 'input HTML text', 
    click: function(){ 
    alert('test'); 
    } 
}).appendTo("body"); 
+0

乾杯! PaulPRo只是把你打敗了。 – piddl0r

4

這是更好的選擇

$("<a/>", { 
    href: '#', 
    name: 'link_html_edit', 
    id: 'link_html_edit', 
    html: 'input HTML text' 
}).bind('click',function(){ // your function}).appendTo("body"); 
相關問題