javascript - jQuery 中的嵌套函数和 (this)

标签 javascript jquery

抱歉,这个问题太基本了,但我无法弄清楚..

我想知道如何将此 javascript (jquery) 转换为可以从处理程序调用的函数并利用 $(this),因为我有许多元素需要使用此处理程序。

这是完整的 jquery atm..

 $(document).ready(function(){

  $(document).on('keyup', '.order-item', function(){
    var price = +$(this).data('price');
    var hmany = +$(this).find('.quantity').val();
    var item = $(this).data('name');
    var subTotal = price * hmany;


    $('.confirm-ul').append('<li>' + item + ' x ' + hmany + ' = €' + subTotal + '</li>');

  });
});

所以我想将其(如下)放入一个函数中并从处理程序中调用它。我遇到的问题是,当代码位于其自己的函数中时,(此)不起作用。

    var price = +$(this).data('price');
    var hmany = +$(this).find('.quantity').val();
    var item = $(this).data('name');
    var subTotal = price * hmany;


    $('.confirm-ul').append('<li>' + item + ' x ' + hmany + ' = €' + subTotal + '</li>');

谢谢

最佳答案

你可以这样做:

$(document).ready(function(){
    $(document).on('keyup', '.order-item', anotherFunction);
});
function anotherFunction() {
    var price = +$(this).data('price');
    var hmany = +$(this).find('.quantity').val();
    var item = $(this).data('name');
    var subTotal = price * hmany;
    $('.confirm-ul').append('<li>' + item + ' x ' + hmany + ' = €' + subTotal + '</li>');
}

关于javascript - jQuery 中的嵌套函数和 (this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44530900/

相关文章:

javascript - 在 ASP.Net MVC Controller 中捕获 ajax 文件

javascript - 如何在 DOJO 中将属性映射到 DOM 节点?

JavaScript Regex 将长日期时间转换为短日期并将长数字转换为小数点后两位

c# - 使用 JavaScript/jQuery 从另一个类调用 C# 方法

javascript - w 和 h 必须是数字

javascript - 获取传递的 URL 参数并添加到 iframe URL

javascript - 在 HTML 属性中使用 HTML 实体

jquery - 在 jquery 中分别使用隐藏/显示

jquery - 剑道网格 incell 编辑中的组合框

javascript - 如何在javascript中动态添加对象的属性?