簡體   English   中英

未捕獲的類型錯誤:無法讀取未定義的屬性(讀取“目標”)和(讀取“值”)

[英]Uncaught TypeError: Cannot read properties of undefined (reading 'target') & (reading 'value')

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>

testMethod.testSubMethod(this) this - 在您的情況下引用 html object。

所以可能會改變

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

像這樣的事情可能會解決你的問題

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

我相信event必須在

var radio = event.target;

這樣當您嘗試訪問event.target時,您正在訪問undefinedtarget屬性,這是 javascript 中的錯誤嘗試檢查是否首先定義了事件

var radio = event ? event.target : undefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM