2016-12-07 6 views
0

Я хочу объединить две функции jQuery в один. Но я не знаю, как это сделать. Что мне нужно изменить, чтобы объединить эти два в одну функцию?Объединение двух функций jQuery в один

Вот код:

$('#keyword').on('keyup', function (e) { 
    console.log(e.keyCode); 
    console.log($(this).text()); 
    $('input[name="q"]').val($(this).val()); 
    $('g-search').html($(this).val()); 
}); 

$(function() { 
    $('#title').on('keyup', function (e) { 
     console.log(e.keyCode); 
     console.log($(this).val()); 
     var title = $(this).val(); 
     $('span.title').text(title); 
     $('g-search').html(title); 
    }); 
}); 
+0

напишите свой HTML-код. – Sankar

ответ

2

можно проверить эту скрипку jsfiddle

$('#keyword,#title').on('keyup', function (e) { 

     console.log(e.keyCode); 

     console.log($(this).text()); 

     $('input[name="q"]').val($(this).val()); 

     $('g-search').html($(this).val()); 

    }); 
1

Вам просто нужно добавить свои и Ids на той же event функции, как показано ниже кода.

$('#keyword,#title').on('keyup', function (e) { 
    //Your code 
}) 
+0

, но тогда я пишу оба поля ввода в том же диапазоне – Leon

+0

, если что-то должно быть отдельным в функции, тогда я предлагаю вам использовать только отчаянную функцию. общая функция будет полезна, когда требование является некоторым для обеих функций – Bharat

4

Вы можете написать свою логику в одной функции таким образом, как это происходит в случае разных типов событий.

$(function() { 
    $('#keyword').on('keyup', function (e) { 
     anotherFunction(this); 
    }); 
    $('#title').on('keyup', function (e) { 
      anotherFunction(this); 
    }); 
}); 

function anotherFunction(val){ 

} 

Или вы можете сделать это.

$('#keyword,#title').on('keyup', function (e) { 


}); 
+0

, это хороший ответ, но затем я не могу писать в разные контейнеры. – Leon

2

Добавить общий класс для каждого элемента

HTML:

<input class="key common-class" type="text" size="50" maxlength="63" id="keyword"/> 

<input class="url1 common-class" type="text" data-limit="60" size="50" maxlength="74" id="url"/> 

ЯШ:

$('.common-class').on('keyup', function (e) { 
     //combined code 
     var val = $(this).val(); 
    if($(e.target).is('#keyword')) { 
    $('input[name="q"]').val(val); 
    } else { 
    $('span.title').text(val); 
    } 
    $('g-search').html(val); 
}); 
Смежные вопросы