2009-07-21 5 views
1

J'ai mon propre modifier en fonction de place pour jquery qui ressemble à ceComment tirer la même fonction lorsque l'utilisateur appuie entrer ou fait un clic

$('.editRow').live('click', function() { 
    var row = $(this).parent('td').parent('tr'); 
    row.find('.1u').slideUp('fast'); 
    row.find('.1p').slideUp('fast'); 
    row.find('.inputTxt').slideDown('fast'); 
    $(this).parent('td').empty().append('<a href=# class=cancel>Cancel</a>/<a href=# class=save>Save</a>'); 
}); 

$('.cancel').live('click', function() { 
    var row = $(this).parent('td').parent('tr'); 
    row.find('.1u').slideDown('fast'); 
    row.find('.1p').slideDown('fast'); 
    row.find('.inputTxt').slideUp('fast'); 
    $(this).parent('td').empty().append('<a href=# class=editRow>Edit</a>'); 
}); 

$('.save').live('click', function() { 
    var thisParam = $(this); 
    var row = $(this).parent('td').parent('tr'); 
    var id = row.attr('id'); 
    var userid = row.find('#1ui').val(); 
    var pass = row.find('#1pi').val(); 

    $.ajax({ 
    type: 'post', 
    url: 'filefetch_update.php', 
    data: 'action=updateUser&pass=' + pass + '&id=' + id + '&userid=' + userid, 

    success: function(response) { 
     $('#response').fadeOut('500').empty().fadeIn('500').append(response); 
     var row = thisParam.parent('td').parent('tr'); 
     row.find('.1u').text(userid).slideDown('fast'); 
     row.find('.1p').text(pass).slideDown('fast'); 
     row.find('.inputTxt').slideUp('fast'); 
     thisParam.parent('td').empty().append('<a href=# class=editRow>Edit</a>'); 
    } 
    }); 
});  

Maintenant, je veux courir le sauver fonction lorsque le l'utilisateur clique sur Enregistrer et également lorsque vous appuyez sur Entrée au clavier.

Répondre

1

Cela devrait fonctionner pour vous:

$(document).keypress(function(e) { 
    if (e.which == 13) { 
     $('.save').click(); 
    } 
)}; 
0

Je ne sais pas, mais cela pourrait fonctionner

<input type="text" onkeypress="return runScript(event)" /> 
function runScript(e) { 
    if (e.keyCode == 13) { 
     // do some thing like 
      $('.save').click(); 
     } 
} 
0

Essentiellement, tout ce que vous devez faire est la même chose que vous faites déjà, mais lier l'événement « keypress » au champ de texte et vérifier e.which dans la fonction de gestionnaire. Si c'est la touche 13 (je pense), alors allez-y et faites le même code que pour 'clic'.

$('.your-text-field').live('keypress', func) 

func vérifie la clé et exécute le code d'économie. Ce serait une bonne idée de séparer le gestionnaire de clic en une fonction distincte, afin que le gestionnaire de touches puisse l'appeler sans avoir à dupliquer la source.

Jetez un coup d'oeil ici, devrait aider: jQuery keypress event

0
$(document).keypress(function(e) { 
    if (e.which == 13) { 
     $('#go').click(); 
    } 
}); 

Ce ne fonctionne pas correctement, car après le déclenchement d'un clic sur l'élément « go » il retourne à la même fonction et cache les résultats, j'ai donc modifié ce code quand il revient, puis retourne false, donc la sortie ne sera pas masquée maintenant.

Code modifié est:

$(document).keypress(function(e) { 
    if (e.which == 13) { 
     $('#go').focus(); 
     $('#go').click(); 
     return false; 
    } 
}); 
Questions connexes