2011-12-28 11 views
11

Próbuję użyć javascript do utworzenia przycisku, który ma zdarzenie onclick, które wywołuje funkcję zdefiniowaną w nagłówku, która przyjmuje jako parametr obiekt DOM względem przycisku. jak mam to zrobic?javascript, aby utworzyć przycisk z onclick

ex:

<html> 
<head> <script>function blah(obj){alert(obj.value)}</script></head> 
<body> 
<button onclick="blah(this.parentNode.value);"></button> 
</body> 
</html> 

javascript:

var newButton = document.createElement("button"); 
??? 

w końcu chcę nowy przycisk, aby być taka sama, jak istniejącego.

+0

czy możesz wyjaśnić, dlaczego to robisz, być może istnieje lepsze rozwiązanie dla tego, co robisz .. – AlanFoster

+0

to trochę (niepotrzebnie) skomplikowane, ale spróbuję. więc oryginalny przycisk stworzy grupę rzeczy i sam się usunie. Wśród stworzonych rzeczy jest inny przycisk, który odtworzy oryginalny przycisk, który może stworzyć kolejną masę rzeczy i tak na – WindowsMaker

Odpowiedz

28
function createButton(context, func){ 
    var button = document.createElement("input"); 
    button.type = "button"; 
    button.value = "im a button"; 
    button.onclick = func; 
    context.appendChild(button); 
} 

window.onload = function(){ 
    createButton(document.body, function(){ 
     highlight(this.parentNode.childNodes[1]); 
     // Example of different context, copied function etc 
     // createButton(this.parentNode, this.onclick); 
    }); 
} 

czy tego chcesz?

+0

nie sądzę, że rozwiązuje problem DOM, w którym argument przekazany jest w stosunku do przycisku :( – WindowsMaker

+0

@zaftcoAgeiha Nie mam wyobraź sobie, co to znaczy, czy mógłbyś wyjaśnić, co chcesz, proszę.) Edit :: Sprawdź pocztę jeszcze raz – AlanFoster

+0

ok, muszę mieć możliwość dynamicznego tworzenia tego i klikaj na niego – WindowsMaker

Powiązane problemy