Если с помощью die () вы решите проблему, скорее всего, вы вызываете живой метод более одного раза.
$('#search_term').on("keyup", function(event) {
if (event.keyCode == '13') {
console.log("ENTER!")
}
});
$('#search_term').on("keyup", function(event) {
if (event.keyCode == '13') {
console.log("ENTER!")
}
});
(Рефакторинг кода, потому что .live устарел)
Попробуйте это fiddle и откройте консоль разработчика. Если вы нажмете ввод внутри ввода, он вызовет console.log () несколько раз.
В этом примере вы добавляете новые функции к событию keyup, и в результате этого при запуске keyup будут запускаться все функции
Вместо .die (теперь это .off) удалите предыдущие добавленные функции. Смотрите этот пример:
$('#search_term').off("keyup").on("keyup", function(event) {
if (event.keyCode == '13') {
console.log("ENTER!")
}
});
$('#search_term').off("keyup").on("keyup", function(event) {
if (event.keyCode == '13') {
console.log("ENTER!")
}
});
Попробуйте сейчас этот измененный fiddle и убедитесь, что функция вызывается только один раз.