You are hooking up a keyup() handler to the last cell of the row every time a new row is added. Instead give the last cell a class and bind the addnewrow to that class. then before adding the row first remove class from all existing cells then add your row. This way only the last cell of the last row will have the class that triggers add new row.
$(function() {
// Change the selector if needed
var $table = $('.mt-table-edit');
addNewRow();
function addNewRow() {
//get row template. We must use html() for new instance other event handler will get attached to last row
var $tr = $("<tr><td><input/></td><td><input/></td><td><input/></td><td><input class='addNew' /></td></tr>");
// add template after the last row
$table.find("tbody:last-child").append($tr);
// focus on firt input of newly added row
$tr.find("td:first input").focus();
}
$table.on('keyup', '.addNew', function(e){
if (event.keyCode === 13) {
$(this).removeClass('addNew');
addNewRow();
}
});
});
Here is the updated/working fiddle