在哪里使用打字稿向按钮添加事件?

蒂姆森

我在哪里向按钮,输入字段等添加事件?我问是因为我想尽可能多地保留JS / jQuery。现在,这就是我的工作:

我的看法是:

@Scripts.Render("~/Scripts/Application/Currency/CurrencyExchangeRateCreate.js?" + DateTime.Now.Ticks.ToString())

<script>
    var x = new CurrencyExchangeRateCreate();
    var createUrl = @Url.Action("Create", "Currency"),
        indexUrl = @Url.Action("Index", "Currency");
</script>

还有我的打字稿课

var createUrl, indexUrl;
class CurrencyExchangeRateCreate {
    private form: JQuery = $("#createForm");
    private submitButton: JQuery = $("#submitButton"); 

    constructor() {
        var self = this;
        this.submitButton.on("click", function () {
            self.Create();
        })
    }

    public Create() {
        var self = this;
        var ajaxOptions: JQueryAjaxSettings = {
            async: true,
            url: createUrl,
            data: self.form.serialize(),
            method: "POST",
            global: true,
            success: function () {
                window.location.href = indexUrl;
            },
            error: function () {
            }
        }    
        $.ajax(ajaxOptions);
    }    
}

就像您看到的那样,我有一个可以单击按钮提交的表单,但是此按钮单击事件必须绑定在某处。如果在构造函数中执行此操作,则必须像现在一样实例化新类。是这样做的正确方法,还是有更好的方法?

i

您可以尝试如下操作:

class CurrencyExchangeRateCreate {
    // all the class properties and methods without any event binding.

    private form: JQuery = $("#createForm");
    private submitButton: JQuery = $("#submitButton");

    // a suggestion for the constructor:
    constructor(createUrl, indexUrl) {
      this.createUrl = createUrl;
      this.indexUrl  = indexUrl;
    }

    // some changes in create method:

    public Create() {
        var self = this;
        var ajaxOptions: JQueryAjaxSettings = {
            async: true,
            url: this.createUrl,
            data: form.serialize(), //<----remove self from here.
            method: "POST",
            global: true,
            success: function () {
                window.location.href = this.indexUrl;
            },
            error: function () {
            }
        }    
        $.ajax(ajaxOptions);
    } 

}


var button = document.querySelector('#submitButton');

button.addEventListener('click', function(e){
    e.preventDefault(); // stop the form submission.
    var createUrl = @Url.Action("Create", "Currency"),
        indexUrl  = @Url.Action("Index", "Currency");

    var x         = new CurrencyExchangeRateCreate(createUrl, indexUrl);
        x.Create(); // call the create method here.
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

fullcalendar 将按钮添加到事件打字稿角度

来自分类Dev

无法使用打字稿向对象文字添加新属性

来自分类Dev

在哪里可以找到lodash / fp的打字稿类型?

来自分类Dev

Mapbox图层的正确类型(打字稿)在哪里?

来自分类Dev

VS 2019社区中的打字稿生成选项在哪里?

来自分类Dev

我在哪里可以找到 angularjs 打字稿的 api 参考?

来自分类Dev

SWT按钮上的MouseClick事件在哪里?

来自分类Dev

在哪里添加事件处理程序

来自分类Dev

以编程方式向按钮添加事件

来自分类Dev

谷歌登录与angular2和打字稿-在哪里获得gapi?

来自分类Dev

向窗口对象添加角度的代码行在哪里?

来自分类Dev

从打字稿使用时,easyljs click事件未触发

来自分类Dev

扩展类的打字稿事件

来自分类Dev

打字稿中的 OnClick 事件

来自分类Dev

在哪里为我的自定义按钮添加“ onclick”

来自分类Dev

在文本编辑器中使用“向字典添加单词”功能时,单词存储在哪里?

来自分类Dev

打字稿的强类型事件包。如何将绑定的handelers添加到事件

来自分类Dev

在向按钮单击事件添加 func 时修复“使用未解析的标识符‘addTarget’”

来自分类Dev

使用打字稿在 Ionic 2 上动态添加行

来自分类Dev

使用 rxjs 打字稿

来自分类Dev

在哪里添加孩子?

来自分类Dev

在哪里添加功能

来自分类Dev

如何在打字稿(角度)的数组的特定索引处向对象添加属性?

来自分类Dev

如何在Angular(打字稿)中向JSON对象添加新的键数组?

来自分类Dev

打字稿:向现有抽象类添加其他重载

来自分类Dev

如何通过离子打字稿向firebase中的特定用户添加车辆

来自分类Dev

在打字稿中为亮元素组件添加事件侦听器

来自分类Dev

在C#中向动态生成的按钮添加click事件

来自分类Dev

向 Stripe JS 按钮添加事件监听器

Related 相关文章

  1. 1

    fullcalendar 将按钮添加到事件打字稿角度

  2. 2

    无法使用打字稿向对象文字添加新属性

  3. 3

    在哪里可以找到lodash / fp的打字稿类型?

  4. 4

    Mapbox图层的正确类型(打字稿)在哪里?

  5. 5

    VS 2019社区中的打字稿生成选项在哪里?

  6. 6

    我在哪里可以找到 angularjs 打字稿的 api 参考?

  7. 7

    SWT按钮上的MouseClick事件在哪里?

  8. 8

    在哪里添加事件处理程序

  9. 9

    以编程方式向按钮添加事件

  10. 10

    谷歌登录与angular2和打字稿-在哪里获得gapi?

  11. 11

    向窗口对象添加角度的代码行在哪里?

  12. 12

    从打字稿使用时,easyljs click事件未触发

  13. 13

    扩展类的打字稿事件

  14. 14

    打字稿中的 OnClick 事件

  15. 15

    在哪里为我的自定义按钮添加“ onclick”

  16. 16

    在文本编辑器中使用“向字典添加单词”功能时,单词存储在哪里?

  17. 17

    打字稿的强类型事件包。如何将绑定的handelers添加到事件

  18. 18

    在向按钮单击事件添加 func 时修复“使用未解析的标识符‘addTarget’”

  19. 19

    使用打字稿在 Ionic 2 上动态添加行

  20. 20

    使用 rxjs 打字稿

  21. 21

    在哪里添加孩子?

  22. 22

    在哪里添加功能

  23. 23

    如何在打字稿(角度)的数组的特定索引处向对象添加属性?

  24. 24

    如何在Angular(打字稿)中向JSON对象添加新的键数组?

  25. 25

    打字稿:向现有抽象类添加其他重载

  26. 26

    如何通过离子打字稿向firebase中的特定用户添加车辆

  27. 27

    在打字稿中为亮元素组件添加事件侦听器

  28. 28

    在C#中向动态生成的按钮添加click事件

  29. 29

    向 Stripe JS 按钮添加事件监听器

热门标签

归档