Comment dois-je appeler mon javascript. href, onclick ou lier l'événement de clic?

Je sais qu'il y a déjà beaucoup d'articles au sujet de ce concept, mais ma question a un peu de différence.

Sur ma page, j'ai un lien:

<a id="mylink">click me </a>

Alors je vais changer le href dynamiquement à l'aide de:

$get('mylink').href = 'javascript:doSomething(id);';

Il arrive que je dois appeler le code ci-dessus à plusieurs reprises j'ai donc remplacer la valeur courante de l'attribut "href" javascript code d'appeler la même fonction avec différents id de paramètre.

Ci-dessus est ce que j'utilise depuis un long moment maintenant. Mais le désordre a commencé quelques sime ans quand je suis en train de mettre en œuvre OnNavigateAway pour avertir l'utilisateur lorsqu'il ferme la fenêtre du navigateur. IE sera également déclencher ce onNavigateAway cas lorsque l'utilisateur clique sur une ancre avec une valeur pour l'attribut href.

J'ai donc commencé à remplacer ceux href avec jquery cliquez sur événements:

$("#mylink").click(function (e) {
doSomething(id);
e.preventDefault();
});

Mais n'oubliez pas que ce code peut être appelée plusieurs fois, donc je dois me séparer l'événement click d'abord et ensuite lier de nouveau:

function completed(result) { 
$("#mylink").unbind('click'); 
    $("#mylink").click(function (e) {
    doSomething(result.id);
    e.preventDefault();
    });
}

Est-ce une bonne façon de gérer mon javascript? Ou est-ce de liaison et séparer des trucs pas bonne pratique?

Une autre façon de faire peut être de remplacer l'attribut onclick manuellement avec javascript.

Comment voulez-vous gérer cela?

Je suis impatient de votre réponse.

InformationsquelleAutor ThdK | 2012-04-17