【问题标题】:Uncaught TypeError: Cannot read properties of undefined (reading 'target') & (reading 'value')未捕获的类型错误:无法读取未定义的属性(读取“目标”)和(读取“值”)
【发布时间】:2022-01-15 11:42:03
【问题描述】:

JQuery 版本从 2.14 升级到 3.5.0 后,我收到以下错误,但我没有完全理解问题是什么,有 radio = event.target 我在定义中收到的错误无法读取未定义的属性(读取“目标”) 谁能帮我解决?*

var testMethod = {
    testSubMethod: function (event) {
    
        var radio = event.target;
        var isMultiInput = $('#MultipleInputYes').is(':checked');

   
        if (!isMultiInput || radio.value == undefined) {
            $('.divMultiInput').addClass("dp-none");

            if (radio.value == 'false') {
                $('#divInputValueType').prop('disabled', false);
                $('#divInputValueType').attr('style', '');
            }

  
        }
    },
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>
<div class="radio radio-success">
<input type="radio" id="MultipleInputYes" value="true" name="IsMultiInput" onchange="testMethod.testSubMethod(this)">
<label for="MultipleInputYes"> Yes</label>
</div>

<div class="radio radio-success">
<input type="radio" id="MultipleInputNo" value="false" checked="checked" name="IsMultiInput" onchange="testMethod.testSubMethod(this)">
<label for="MultipleInputNo">No</label>
</div>

【问题讨论】:

    标签: javascript c# jquery asp.net-core jquery-ui


    【解决方案1】:

    testMethod.testSubMethod(this) this - 在您的情况下引用 html 对象。

    所以可能会改变

    testSubMethod: function (event) {
        var radio = event.target;
    

    这样的事情可能会解决你的问题

    testSubMethod: function (el) {
        var radio = el;
    

    【讨论】:

      【解决方案2】:

      我相信event 一定是未定义的

      var radio = event.target;
      

      因此,当您尝试访问 event.target 时,您正在访问 targetundefined 属性,这是 javascript 中的错误 尝试检查是否首先定义了事件

      var radio = event ? event.target : undefined
      

      【讨论】:

      • 好吧,这也是一种方法解决
      猜你喜欢
      • 2021-12-22
      • 2021-12-25
      • 2021-11-24
      • 2021-10-31
      • 2021-11-07
      • 2022-01-17
      • 2023-03-13
      • 2022-01-01
      • 2022-01-10
      相关资源
      最近更新 更多