开发者社区 问答 正文

jquery如何同时绑定N个事件

$("#buy_price").blur(function(){
    var price = $("#buy_price").val();
    var num = $("#buy_num").val();
    $("#buy_result").html(price*num);
});
$("#buy_num").blur(function(){
    var price = $("#buy_price").val();
    var num = $("#buy_num").val();
    $("#buy_result").html(price*num);
});

这是原来的语句,因为里边的执行内容是一样的,怎么合并?

展开
收起
小旋风柴进 2016-03-24 11:18:25 1783 分享 版权
1 条回答
写回答
取消 提交回答
  • 方法 1
    如果这几个元素没什么关系的话,可以采取封装函数的方法减小粒度:
    感谢@Zephor 和@蛋蛋超人 提醒,此处确实有误,我改正。

    $("#buy_price").blur(function(){
        price_num();
    });
    
    $("#buy_num").blur(function(){
        price_num();
    });
    
    function price_num() {
        var price = $("#buy_price").val();
        var num = $("#buy_num").val();
        $("#buy_result").html(price*num);
    };

    一定要明白,jQuery是利用了JavaScript的特性扩展了语法,原生js在任何时候都是可用的,包括在jQuery的动作里面嵌套。

    方法 2
    还有一种方法,非常简单:

    $("#buy_price,#buy_num").blur(function(){
        var price = $("#buy_price").val();
        var num = $("#buy_num").val();
        $("#buy_result").html(price*num);
    });

    逗号隔开即可。

    2019-07-17 19:12:23
    赞同 展开评论
问答分类:
问答标签:
问答地址: