开发者社区> 问答> 正文

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 1678 0
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
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Javascript中的对象 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载