J'essaie de définir l'attribut "onclick" d'un lien généré avec jQuery.jQuery paramètre onclick ne fonctionne que sur FireFox?
Alors que d'autres attributs fonctionnent sans problème (par exemple. Href, mais aussi d'autres attrs personnalisés), le réglage "onclick" semble fonctionner que dans FireFox. Sur d'autres navigateurs, l'attribut est simplement ignoré.
Un conseil? Ce comportement est-il correct? Et pourquoi?
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function(){
var obj = $('<a/>');
obj.html('click me');
obj.attr({'href':'#test', 'onclick':'alert("o hai"); return false;'});
$('body').append(obj);
});
</script>
</head><body /></html>
EDIT: Je sais au sujet de la .cliquez() méthode jQuery; mais ce n'est pas le point, je veux juste définir l'attribut et ne peux pas comprendre pourquoi cela ne fonctionne pas comme tout autre attr fait.
Pas une réponse, problème existait même sur Google Chrome, et je n'essayais pas de définir un gestionnaire d'événements, juste l'attribut DOM. Merci quand même. – Patonza
Comme je l'ai dit, 'attr()' définit une propriété DOM. C'est exactement la même chose que dire 'element.onclick = 'alert()';', ce qui est évidemment invalide. Les propriétés du gestionnaire d'événements requièrent une valeur de fonction, pas une chaîne. – bobince
Eh bien merci, alors. Je pense que les propriétés DOM peuvent contenir n'importe quel type d'objet et échouent finalement lorsqu'elles sont appelées en tant que gestionnaire d'événement si elles ne sont pas du type 'function'. – Patonza