Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对两个不同的jQuery事件使用相同的代码而不重复?_Javascript_Jquery - Fatal编程技术网

Javascript 如何对两个不同的jQuery事件使用相同的代码而不重复?

Javascript 如何对两个不同的jQuery事件使用相同的代码而不重复?,javascript,jquery,Javascript,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 + ' cha

我必须在两个不同的事件上调用相同的函数,如下例所示:

 // 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');
 });
请注意,上面的函数在这两种情况下做相同的事情,我只需要在不同的条件下调用该函数


现在我的问题是,我是否可以在同一行中设置这两个事件,以避免设置函数两次?

只需分别声明函数,然后在两个事件中使用它

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);

只需分别声明函数,然后在两个事件中使用它

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);

您可以使用以下函数:

 // 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');
 }

您可以使用以下函数:

 // 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');
 }

是的,这可以作为一种替代方法,但是我可以像我们在php中的if条件中所做的那样,如果其中一个条件为true,则执行操作。类似于php中的if条件?。。。你能提供这样的解决方案吗?plzz?@user3172176:不,你不能。。okkk非常感谢您的友好回复。。我将使用您提供的解决方案……:)是的,这可以作为一种替代方法,但是我可以像我们在php中的if条件中所做的那样,如果其中一个条件为true,则执行操作。类似于php中的if条件?。。。你能提供这样的解决方案吗?plzz?@user3172176:不,你不能。。okkk非常感谢您的友好回复。。我将使用您提供的解决方案……:)