2014-08-28 3 views
1

я должен назвать ту же функцию на двух разных событий, что, как описано в данном примере ниже:Как использовать тот же код для двух разных событий jQuery без повторения?

// calling a function on keyup 
$('#textarea').keyup(function() { 
    var text_length = $('#textarea').val().length; 
    var text_remaining = text_max - text_length; 

    $('#textarea_feedback').html(text_remaining + ' characters remaining'); 
}); 

// calling same function on click 
$('#cancel').click(function() { 
    var text_length = $('#textarea').val().length; 
    var text_remaining = text_max - text_length; 

    $('#textarea_feedback').html(text_remaining + ' characters remaining'); 
}); 

Обратите внимание, что выше функция делает то же самое в обоих случаях, я просто для вызова этой функции в разных условиях,

теперь мой вопрос: могу ли я установить оба события в одной строке ???? , так что я могу избежать установки функции дважды. Пожалуйста, предложите некоторое решение для этого. Спасибо .... :)

ответ

6

Просто объявите функцию отдельно, а затем используйте ее в обоих случаях.

var func_event = function() { 
    var text_length = $('#textarea').val().length; 
    var text_remaining = text_max - text_length; 

    $('#textarea_feedback').html(text_remaining + ' characters remaining'); 
}; 

$('#textarea').keyup(func_event); 
$('#cancel').click(func_event); 
+0

да это может быть использовано в качестве альтернативы, но я могу сделать что-то вроде как мы делаем в если условие в php, если одно из условий истинно, то выполняемое действие. Что-то вроде, если условие в php? ... Можете ли вы предоставить такое решение plzz? –

+0

@ user3172176: Нет, вы не можете. –

+0

hmmm .. okkk большое спасибо за ваш добрый ответ .. я пойду с предоставленным вами решением ... :) –

0

Вы можете использовать функцию:

// calling a function on keyup 
$('#textarea').keyup(function() { 
     exampleFunction(); 
}); 

// calling same function on click 
$('#cancel').click(function() { 
     exampleFunction(); 
}); 

function exampleFunction(){ 

     var text_length = $('#textarea').val().length; 
     var text_remaining = text_max - text_length; 

     $('#textarea_feedback').html(text_remaining + ' characters remaining');}` 

Надежда, чтобы помочь вам .. Bye

Смежные вопросы