вы удаляете обработчик KeyUp сразу после добавления. Это, в сущности, что вы делаете сейчас ...
$(document).off('keyup');
$(document).on('keyup','#main',function(e){
if(e.keyCode == 13) alert("enter on main input");
});
$(document).off('keyup'); // this removes the event handler you just created
$(document).on('keyup','#other1',function(e){
if(e.keyCode == 13) alert("enter on other input");
});
Split код так это понятнее, что происходит, как это ...
$(document).off('keyup');
$(document).on('keyup','#main',function(e){
if(e.keyCode == 13) alert("enter on main input");
});
$(document).on('keyup','#other1',function(e){
if(e.keyCode == 13) alert("enter on other input");
});
или вы можете приковать все это как это ...
$(document)
.off('keyup');
.on('keyup','#main',function(e){
if(e.keyCode == 13) alert("enter on main input");
});
.on('keyup','#other1',function(e){
if(e.keyCode == 13) alert("enter on other input");
});
это имеет преимущество только создания объекта JQuery для документа один раз, а не в 3 раза выше.