J'ajoute dynamiquement input
éléments à un table
avec le id
de inputDataElements
.Comment capturer des événements mouseover sur des éléments HTML d'entrée ajoutés dynamiquement à l'aide de jQuery?
Ces éléments ont input
le nom deleteAction
:
function renderInputDataRows(inputData) {
var rows = "";
for (var i = 0; i < inputData.length; i++) {
rows += '<tr>' +
// ...
'<td class="rowActions">' + \
'<input type="image" ' + \
' style="position:relative; ' + \
' bottom:-2px; ' + \
' left:-4px; ' + \
' padding-right:2px;" ' + \
' src="images/delete.png" ' + \
' onClick="deleteInputDataRow(' + inputData[i].index + ');"' + \
' name="deleteAction" ' + \
' value="deleteInputDataRow' + inputData[i].index + '"' + \
' size="18,18" ' + \
' border="0" />' + \
'</td>' +
// ...
'</tr>';
}
return rows;
}
Question: Je voudrais saisir mouseover
événements sur les deleteAction
input
éléments Baptisée.
J'ai le script jQuery suivant:
$(document).ready(function() {
inputDataElementsRowDeleteActions = $("#inputDataElements input:[name=deleteAction]");
...
inputDataElementsRowDeleteActions.mouseover(function(event) {
alert(event);
});
});
Problème: Je ne comprends pas le message alert
quand je mouseOver l'élément input
.
Existe-t-il un moyen de capturer l'événement mouseover
avec jQuery, lorsque les éléments sont ajoutés dynamiquement?
Merci, fonctionne parfaitement. –
Quand le délégué n'est-il pas préféré? – redsquare
@redsquare - Je suppose que si vous n'avez aucun moyen de savoir dans quelle partie du DOM les éléments seront ajoutés. Ce serait un cas rare j'imagine. '.live()' est surutilisé à mon avis. – user113716