La manipulation “onclick” événement avec JavaScript
Donc, c'est vraiment simple, mais je suis encore assez nouveau pour JavaScript et juste trouvé JSFiddle. J'essaie de trouver l'élément avec la getElementById()
pour activer et désactiver un bouton. Ce qui me manque?
<form name="frm" >
<div id="chkObj">
<input type="checkbox" name="setChkBx" onclick="basicList.modifyAndEnableButton(this)"></input>
</div>
<div id="Hello">
<input type="button" name="btn" value="Hello"></input>
</div>
C'est une liste que j'utilise pour ajouter des cases à cocher, car il va y avoir plus d'un:
var basicList = {
'items': {},
'modifyAndEnableButton': function(obj1) {
var element = document.getElementsByName("btn");
if (obj1.checked == true && element.getAttribute('disabled') == false) {
element.getAttribute('disabled') = true;
this.addRecord(obj2);
} else if (element.getAttribute('disabled') == true) {
if (hasItems == false) {
element.getAttribute('disabled') = false;
}
}
}
};
http://jsfiddle.net/Arandolph0/E9zvc/3/
Merci d'avance pour votre aide.
- Pour downvoters, considérer qu'actuellement, la recherche Google pour JavaScript cliquez meilleurs résultats sont pour w3schools et jQuery. Je discuter de cette méta - here.
- OP, si j'étais vous, je voudrais revenir à votre modifier. Il rend votre problème beaucoup plus précis et beaucoup moins applicable à l'audience générale, en outre, il contient beaucoup d'erreurs de syntaxe que vous devriez probablement regarder dans et le type de ruines certaines d'entre elles.
- la dose de chaque case comporte un bouton qui lui est associé?
- Pas de. Désolé pour tous les montages que j'ai réalisé après que j'ai posté que jsfiddle n'ai pas sauvegarder mes changements et que le code qui a été modifiée. Veuillez ignorer.
- Auriez-vous l'esprit si je revenir à l'original de l'édition que je trouve plus utile et plus généralement applicables (et généralement une meilleure question)?
- Quel est le rush bouton censé faire?
- Donc, il est censé agir comme un robinet... la case est cochée et que le bouton est activé, la case est décochée et que le bouton est désactivé.
- Par la façon dont l'original n'a pas demandé assez pour spécifier les fonctionnalités des préoccupations qui sont ce qui doit être abordé.
- Essayez ceci... jsfiddle.net/GKDev/Tpbdd Si je vous ai bien compris, ce qu'il est, que vous voulez...
- Merci. Est - 'e.cible.coché' est que jquery? Je n'ai pas vu ça avant.
- Vous êtes les bienvenus!
- Non, vérifié, c'est juste attribut html. developer.mozilla.org/en-US/docs/XUL/checkbox
Vous devez vous connecter pour publier un commentaire.
Tous les navigateurs prennent en charge cette (voir exemple ici):
Cependant, parfois, vous voulez ajouter un gestionnaire (et ne modifie pas le même), et, plus généralement, lorsque disponible, vous devez utiliser
addEventListener
(besoins cale pour IE8-)Ici est un exemple:
Et html:
(fiddle)
Voici quelques ressources utiles:
addEventListener
sur mdnfalse
dansaddEventListener
?Benjamin en réponse couvre tout assez. Cependant, vous avez besoin d'un modèle de délégation pour gérer les événements sur les éléments qui ont été ajoutés dynamiquement puis
Pour IE7/IE8
e.srcElement.id
àe.target.id
et attachEvente.srcElement.id
àwindow.event.srcElement.id
Vous avez un
Error
icibtnRush
devrait êtreRushbtn
C'est un exemple de la croix-navigateur de l'événement que je viens de faire (pas testé) )
addEventListener
appeler la fonction de rappel de passer l'élément que ce et de transmettre l'événement
La
onEvent
est utilisé pour les cas de délégation.Le
addEvent
est pour votre événement standard.voici comment vous pouvez les utiliser
Événement Délégation est ça au fond.
Ajouter un événement de clic sur le document afin que l'événement se déclenche chaque fois qu' & partout où puis vous cochez l'élément qui a été cliqué pour voir si elle correspond à l'élément dont vous avez besoin. de cette manière, il le sera toujours.
Démo