将两个jQuery函数合二为一

时间:2016-12-07 07:15:52

标签: javascript 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);
    });
});

4 个答案:

答案 0 :(得分: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) {


});

答案 1 :(得分: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());

    });

答案 2 :(得分: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"/>

JS:

$('.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);
});

答案 3 :(得分:1)

您只需在同一Ids上添加event {} 功能如下代码。

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