Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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_Jquery Trigger - Fatal编程技术网

Javascript Jquery在不同事件上执行/触发相同代码

Javascript Jquery在不同事件上执行/触发相同代码,javascript,jquery,jquery-trigger,Javascript,Jquery,Jquery Trigger,我在单击自定义标记的事件时具有此功能densitybtn='yes' $("[densitybtn='yes']").on('click', function () { var no_of_people = 0; //calcdensity $("[calcdensity='yes']").each(function () { no_of_people = parseInt($(this).val()) + no_of_people; });

我在单击自定义标记的事件时具有此功能
densitybtn='yes'

$("[densitybtn='yes']").on('click', function () {
    var no_of_people = 0;
    //calcdensity
    $("[calcdensity='yes']").each(function () {
        no_of_people = parseInt($(this).val()) + no_of_people;
    });
    var total_density = parseInt(carpetArea) / parseInt(no_of_people);
    $("#densityVal").html(Myval);
});
我可以通过将代码扩展到$(“[calcdensity='yes']”)来扩展相同的代码吗

我不确定是否在不同的事件上执行相同的代码


让我知道这个方法正确吗?或者是否有其他方法可用?

正常定义函数(不是匿名函数)并将函数传递给事件侦听器

function listener() {
   var no_of_people = 0;
   //calcdensity
   $("[calcdensity='yes']").each( function() {
      no_of_people = parseInt($(this).val())+no_of_people;
   });
   var total_density = parseInt(carpetArea)/parseInt(no_of_people);
   $("#densityVal").html(Myval);
}

$("[densitybtn='yes']").on('click', listener);
$("[calcdensity='yes']").on('blur', listener);

通常定义函数(不是匿名函数)并将函数传递给事件侦听器

function listener() {
   var no_of_people = 0;
   //calcdensity
   $("[calcdensity='yes']").each( function() {
      no_of_people = parseInt($(this).val())+no_of_people;
   });
   var total_density = parseInt(carpetArea)/parseInt(no_of_people);
   $("#densityVal").html(Myval);
}

$("[densitybtn='yes']").on('click', listener);
$("[calcdensity='yes']").on('blur', listener);

不,那不是一个好的练习。
相反,您可以为第二个目的编写一个函数,并在模糊的
$(“[calcdensity='yes']”)上调用它。

相反,您可以为第二个意图编写一个函数,并在模糊的
$(“[calcdensity='yes']”)上调用它

您可以使用jQuery的按空格分隔事件参数来绑定多个事件

$("[densitybtn='yes']").on('click blur', function() {
    // actions to perform
})

可以使用jQuery的函数将事件绑定到多个元素


可以使用jQuery的按空格分隔事件参数来绑定多个事件

$("[densitybtn='yes']").on('click blur', function() {
    // actions to perform
})

可以使用jQuery的函数将事件绑定到多个元素


第二次呼叫应为开启('blur')。第二次呼叫应为开启('blur')。我必须管理[calcdensity='yes']和[densitybtn='yes']。我们如何添加[calcdensity='yes']?对不起,我误解了这个问题。您想对[calcdensity='yes']和[densitybtn='yes']同时运行“单击”和“模糊”功能,还是只对第一个运行“单击”,对第二个运行“模糊”功能?我必须管理[calcdensity='yes']和[densitybtn='yes']。我们如何添加[calcdensity='yes']?对不起,我误解了这个问题。您想对[calcdensity='yes']和[densitybtn='yes']同时运行“单击”和“模糊”功能,还是只对第一个运行“单击”,对第二个运行“模糊”功能?