#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть приведенный ниже код в файле JS:
$(document).ready(function() {
$("#key_verify").click(function () {
$("#errrmsg").html("<img src="/images/shim.gif"/>");
if($.trim($("#key").val()).length != 0){
$.ajax({
type : "POST",
cache : false,
async : true,
url : "/issuekey?key=" $("#key").val(),
success : function(data) {
var json_obj = $.parseJSON(data);
if(json_obj === undefined || json_obj == null){
}else{
if(json_obj.result == "true"){
top.location.href="/register"
}else{
$("#errrmsg").html(invalid_key);
}
}
},
error : function(data) {
$("#errrmsg").html(invalid_product_key);
}
});
}
});
}
Как я могу вызвать приведенный выше код в нижеприведенных строках, чтобы, когда пользователь нажимает клавишу ввода, он также должен вызывать клавишу ввода??
$("#key_verify").keypress(function(e) {
if(e.which == 13){
??????
}
});
Спасибо!
Комментарии:
1. Вы хотите, чтобы ваша первая функция / события вызывались при
#key_verify
щелчке или нажатии?
Ответ №1:
Преобразуйте функцию, которую вы передаете click
обработчику, в именованную функцию следующим образом:
var verify = function(e) {
// your current anonymous function
$("#errrmsg").html("<img src="/images/shim.gif"/>");
// ... the rest of your function
}
Затем передайте его в качестве аргумента в ваши обработчики событий:
$("#key_verify").click( verify );
$("#key_verify").keypress(function(e) {
if(e.which == 13){
verify( e );
}
});