To trudne pytanie. Jak rozumiem, chcesz naśladować zachowanie kliknięcia przycisku w kodzie javascript. Problem polega na tym, że ASP.NET dodaje do kodu obsługi onclick pewien fantazyjny kod javascript.
Podczas ręcznego uruchamiania zdarzenia w jQuery zostanie wykonany tylko kod zdarzenia dodany przez jQuery, a nie javascript w atrybucie onclick lub atrybucie href. Pomysł polega więc na utworzeniu nowego programu obsługi zdarzeń, który będzie wykonywał oryginalny javascript zdefiniowany w atrybutach.
Co mam zamiar zaproponować nie zostały przetestowane, ale dam mu szansę:
$(document).ready(function() {
// redefine the event
$(".myButton").click(function() {
var href = $(this).attr("href");
if (href.substr(0,10) == "javascript:") {
new Function(href.substr(10)).call(this);
// this will make sure that "this" is
// correctly set when evaluating the javascript
// code
} else {
window.location = href;
}
return false;
});
// this will fire the click:
$(".myButton").click();
});
.click() i tak by nic nie zrobił, ponieważ jQuery używa detektorów zdarzeń, zamiast dostosowywać właściwość elementu .onclick. –
Właściwie, Andrew, przetestowałem to tylko, aby się upewnić, i .click() rozpoczyna zdarzenie onClick. – Kobi
Och, przepraszam, moja zła! –