2012-12-05 92 views
0

我有一個按鈕:使用Javascript - 更改按鈕的onclick到現有的功能

<button onclick = "doDisactivate(5);" id = "status_button_5" value = "Disactivate" /> 

其中5是一個動態添加ID。我有兩個JavaScript函數,doDisactivate(ID)和doActivate(5)。

function doDisactivate(serviceID) { 
    // logic that changes the button onclick to doActivate(serviceID) 
} 

function doActivate(serviceID) { 
    // logic that changes the button onclick to doActivate(serviceID) 
} 

我猜我能做到與jQuery如下:

${"#status_button_" + serviceID}.click(function() { 
    doActivate(serviceID); 
}); 

但是,有沒有辦法直接分配功能,同時通過ID作爲參數?

回答

1

由於您未使用jquery事件綁定,因此可以使用$("#status_button_5").attr("onclick", "doActivate(5);")直接更改onclick屬性。

+0

是事件綁定好?他們添加了什麼? –

+1

工作起來更容易。例如,你可以做一些類似'var activated = false; $(「#status_button_5」)。on(「click」,function(){if(activated){doDisactivate(5);} else {doActivate(5);} activated =!activated;})'。 – rdiazv

+0

不錯,謝謝你的提示和答案。 –

1

做這樣的事情

${"#status_button_" + serviceID}.click(function(event) { 
    doActivate(event.target.id); 
}); 

onClick="doDisactivate(this.id)" 
+0

這可行,但我想直接,而不是通過另一個匿名函數的功能。 –

+0

你可以添加event參數給你的doActivate函數,並且在函數內調用'event.target.id'。 – shuaqiu