0

我有自定义标签的 onclick 事件这个函数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']").on('blur') 来扩展相同的代码吗

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

});

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

让我知道这种方法是否正确?还是有其他可用的方法?

4

3 回答 3

6

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

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);
于 2015-05-12T06:14:58.677 回答
0

不,这不是一个好习惯。相反,您可以为第二个意图编写一个函数并在模糊的$("[calcdensity='yes']").

于 2015-05-12T06:16:16.283 回答
0

您可以使用 jQuery 的.on()方法通过空格分隔事件参数来绑定多个事件。

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


您可以使用 jQuery 的.add()方法将事件绑定到多个元素。

$("[densitybtn='yes']").add("[calcdensity='yes']").on('click blur', function() {
    // actions to perform
})
于 2015-05-12T06:23:26.093 回答