javascript - 类型 'checked' 上不存在属性 'TElement'

标签 javascript jquery css angular typescript

  • 我是 typescript 的新手。
  • 我在 fiddle 中有一个工作原型(prototype),如果我使用它,它不会抛出任何错误。 http://jsfiddle.net/61ufvtpj/2/

  • 但是在 typescript 中我使用了这一行 if(this.checked){ 它抛出了这个错误 [ts] Property 'checked' does not exist on type 'TElement'。

  • 你能告诉我如何修复它,以便将来我自己修复它。
  • 提供下面的相关代码和要点中的完整代码。

https://gist.github.com/niniyzni/4faea080e53eb0c7155ddd8fb635a46c

 $(document).on('change', '#playerFlagCheck', function () {

            if(this.checked){ //[ts] Property 'checked' does not exist on type 'TElement'.
                $('#editIconplayer').addClass("gridUpdateIcon");
                alert("I am inside if");
            }else{
                alert("I am inside else");
                if(!$('#editIconplayer').hasClass("gridUpdateIcon")){
                    $('#editIconplayer').removeClass("gridUpdateIcon");
                }
            }

        });

最佳答案

您的事件处理程序正在创建一个新上下文,to more about check me .因此,this 不再指代 Controller 本身。

这必须解决问题:

const vm = this;
$(document).on('change', '#playerFlagCheck', function () {
   if(vm.checked) {
     $('#editIconplayer').addClass("gridUpdateIcon");
       alert("I am inside if");
     } else {
       alert("I am inside else");
       if(!$('#editIconplayer').hasClass("gridUpdateIcon")) {
         $('#editIconplayer').removeClass("gridUpdateIcon");
       }
     }

});

关于javascript - 类型 'checked' 上不存在属性 'TElement',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50079457/

相关文章:

javascript - 将 jPlayer 音量分配给自定义按钮

jquery - 使用 Yii 在 jQuery 的 $(document).ready 中添加 javascript 的正确方法是什么

javascript - 如何解决,偶循环延迟(非实时)快速悬停时 `in, out , in , out , in, out , in , out`?

javascript - 如何在呈现数据时排除特定的 JSON 对象

html - 伪元素上的 Font Awesome 5 显示正方形而不是图标

css - 将 file_field_tag 外观更改为按钮外观

javascript - 谷歌地图 - 打开 InfoWindow onMouseover 而不是 onClick

JavaScript 对象关联

javascript - 在angularjs中使用背景颜色和边框时如何设置复选框样式

javascript - Knockout 和 JQuery UI 拖放表单生成器